기본 사용자 데이터베이스를 사용하는 asp.net mvc 응용 프로그램이 있습니다. 모두 잘 작동하지만 몇 가지 테스트를 만들고 싶습니다. 나는 즉시 예외테스트 중에 DB 연결에 실패했습니다.
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
그러나 연결 문자열 (적어도 MVC 프로젝트의 web.config에서) 완벽하게 작동하고 우연히 발견, 테스트 프로젝트가 있습니다. 엔티티 DB 액세스 논리 생성자에 의해 예외가 throw됩니다.
public ASPNETDBEntities() :
base("name=ASPNETDBEntities", "ASPNETDBEntities")
{
this.OnContextCreated();
}
아이디어가 있습니까? 미리 감사드립니다.
두 번째 단락의 시나리오에서 문맥이 실제로 조롱되었지만 모의 객체의 기본 객체 컨텍스트 속성을 활용하려면 어떻게해야합니까? app.config에 모의 연결 문자열을 넣을 수 있습니까? – devlord
@lorddev : 어떤 종류의 시나리오를 묘사하고 있는지 명확하지 않지만, "평범한"mock 객체를 보낼 수 없다면, 그 객체와 상호 작용할 때 기대했던 값을 반환하도록 설정하십시오. , 당신은 아마도 당신의 레이어를 명확하게 분리하지 못했을 것입니다 - 다시 말하면, 쉽게 테스트 할 수 있도록 코드를 리팩토링하는 것이 좋습니다. –
연결이 끊어진 Context mock에서 ObjectStateManager에 액세스하려고합니다. EF에 내장되어 있으며 유효한 EF 연결 문자열 없이는 만들 수없는 실제 ObjectContext에 의존합니다. – devlord