비슷한 문제를 다루는 몇 가지 질문을 보았습니다.하지만 그 중 아무도 나를 도왔습니다.엔터프라이즈 라이브러리로 인해 NUnit 테스트가 실패합니다.
MVC 3 프로젝트에서 VS 2010과 함께 NUnit을 사용하고 있습니다. 나는 Tests 프로젝트를 가지고 있고 나의 첫 테스트 Evar를 쓰고있다! :-)
나는 자랑스럽지 않다. 나는 마침내 그것에 도착하고있다! 여기
은 내가Microsoft.Practices.ServiceLocation.ActivationException 점점 오전 오류입니다 : 형 데이터베이스의 인스턴스를 취득하는 동안 활성화 오류가 발생, 키 "하고 MyConnection"----> 마이크로 소프트 .Practices.Unity.ResolutionFailedException : 해결 방법은 종속성에 실패했습니다. 형식 : "Microsoft.Practices.EnterpriseLibrary.Data.Database", name = "MyConnection". 예외가 발생하는 동안 : 해결하는 중. 예외는 다음과 같습니다. InvalidOperationException - 데이터베이스 유형을 구성 할 수 없습니다. 이 값을 제공하도록 컨테이너를 구성해야합니다.
나는 모든이와 web.config
를 구성하고 테스트에서 실행하지 않을 경우 데이터가 NUnit과 함께 사용하면 그냥 죽어 가고, 그래서 나는 그것이 CE 당 죽어있는 설정하지 알고 완벽하게 반환합니다. 내가 NuGet을 사용하고도 깨끗한 설명서를 참조하고있는 DAAB를 설치 한
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
...
<dataConfiguration defaultDatabase="MyConnection" />
<connectionStrings>
<add name="MyConnection" connectionString="Data Source=MyServerName;Initial Catalog=MyDB;user id=MyUser;password=MyPassword"
providerName="System.Data.SqlClient" />
</connectionStrings>
:
여기 내 연결 정보입니다. 어느 쪽이든, 고급 데이터로드가이 선에 죽는다 일반적인 사용뿐만 테스트 :
var database = DatabaseFactory.CreateDatabase("MyConnection");
public IEnumerable<SchoolSearchResultsDTO> Find(SchoolSearchInputDTO dto) {
List<SchoolSearchResultsDTO> fullList;
var database = DatabaseFactory.CreateDatabase("MyConnection");
using (var command = database.GetStoredProcCommand("dbo.usp_School_SearchBySchoolName")) {
database.AddInParameter(command, "@I_strSchoolName", DbType.String, dto.SearchTerm);
database.AddInParameter(command, "@I_intNumberOfRecords", DbType.Int32, dto.MaxSearchResults);
using (var reader = database.ExecuteReader(command)) {
fullList = new List<SchoolSearchResultsDTO>();
while (reader.Read()) {
var fullRecord = new SchoolSearchResultsDTO();
fullRecord.SchoolID = reader.GetInteger("SchoolId");
fullRecord.SchoolName = reader.GetString("SchoolName");
fullRecord.IsDetailedDisplayMode = reader.GetBoolean("IsDetailedDisplayMode");
fullList.Add(fullRecord);
}
reader.Close();
}
}
return fullList;
}
다른 모든 게시물 잘못된 등등에 대해 이야기이 방법 .. 난 꽤 확실하게 그렇지 않으면 정상적인 사용 하에서 데이터를 얻지 못할 것입니다. 따라서 NUnit과 DaaB를 함께 사용해야합니다.
멋진 아이디어가 있습니까? :-) 모두에게 감사드립니다!
훌륭한 정보! 감사! 필자가 직접 테스트 프로젝트를 생각해 본 적이 없다. 나는 아직도 내 시도에서 허우적 거리는 것 같아. –
테스트 프로젝트에 app.config를 추가하여 수정했습니다 :-) 정보를 제공해 주셔서 감사합니다. 내가 책을 가지고있는 방식으로, 아직 시작하지 않았지만 어제 TekPub에서 TDD Master Course (책 저자 인 Roy Osherove에 의해)를 시작했고, 내가 이것에 매달릴 때까지 따라 갔다. 다리를 위로 주셔서 감사합니다! :-) –
좋은 물건 친구, TDD는 당신이 코드하는 방식에서 가장 큰 변화가 될 것입니다. 처음 몇 가지 장애물이 생기면 나는 그것이 당신을 훨씬 더 생산적으로 만들어 줄 것이라고 생각합니다. –