2011-11-21 3 views
0

Visual Studio Express Edition 2010과 함께 C# 용 NUnit을 사용하고 있습니다. 이제는 정상적으로 정상적으로 작동합니다. 그러나 매시브 (Massive.cs)를 사용할 때마다 오픈 소스 api이 데이터베이스에 액세스합니다. 해당 파일에서만 테스트가 실패합니다. 자, 만약 내가 응용 프로그램을 실행하면 API가 잘 작동합니다. 데이터베이스에 액세스하기 위해 다른 라이브러리 파일을 만들었습니다.NUnit은 .Net 4.0의 동적 키워드로 테스트에 실패하지 않습니다.

나는이 오류를 심각하게 이해하지 못합니다. 그것은 단지 객체 참조가 객체로 설정되지 않는다는 에러를줍니다. 하지만 코드를 실행하면 잘 작동합니다. 위의 api 링크와 같이 동적 키워드를 사용하고 있습니다. NUnit에 문제가 있습니까?

이 유형의 시나리오에서 다른 테스트 방법이 있습니까? 여기

코드의 자세한 내용입니다,

테스트 클래스는 이제, 내가 여기에 테스트를 뒀다이

dynamic item = new Item(); 
item.Insert(new { Name = "Maggi", Description = "Its 2 Min Nuddles", IsDelete = false }); 

var items = item.All(); 

Assert.AreEqual("Maggi", items.FirstOrDefault().Name); 

같다. 그림과 같이 내가 콘솔 응용 프로그램에서 코드를 실행하는 경우, 다음 코드는 잘 작동되는 자, Error coming while testing with NUnit

을 오류를 제공, 코드가 여기에

dynamic item = new Item(); 
     item.Insert(new { Name = "Maggi", Description = "Its 2 Min Nuddles", IsDelete = false }); 


     var result = item.All(); 

     foreach (var i in result) 
     { 
      Console.WriteLine(i.Name + i.Description); 
     } 

     Console.Read(); 

아래에 주어진 코드가 작동하고 같은 일이다 NUnit Test와 함께 작동하지 않습니다. 제발 좀 도와주세요. 제 쪽에서 더 자세한 정보가 필요하면 알려주세요.

+3

정확한 오류 란 무엇입니까? – alexn

+2

아마도 Application과 같은 일종의 전역 정적을 찾고있을 것입니다. 코드와 오류가 유용 할 것입니다. –

+0

빠른 답장을 보내 주셔서 감사합니다 ... 나는 스스로 질문을 던져서 스크린 샷을 추가하고 있습니다. 제발 봐주십시오. – kunjee

답변

0

해결 된 문제 ... NUnit 테스트에 문제가 있습니다. 그것은 구성 파일을 pefectly하지 않았습니다. 그래서 저는 두 가지 변화를했습니다. 프로젝트 설정에서 변경 한 사항.

먼저 Application Base를 bin \ debug로 변경하고 응용 프로그램을 기본으로 설정 한 다음 .config 파일을 .exe.config로 설정하고 모든 작업을 실행합니다. :)

0

테스트 프로젝트에서 연결 문자열을 설정하지 않았을 가능성이 가장 높습니다.
NUnit을 사용하는 경우 테스트 프로젝트의 app.config에 입력하면됩니다.

+0

테스트 프로젝트에서 연결 문자열을 설정 했으므로 테스트 프로젝트에서만 다른 코드가 실행되고있는 것입니다. 확인해 봤는데,이 연결 문제. 아직도 나는 수표를주고 돌아온다. – kunjee

+0

[디버그 -> 예외 -> 공용 언어 런타임 예외가 발생했을 때 중단하고, 디버거에서 테스트를 실행하고, 정확히 'null'이 무엇인지 확인할 수 있습니까? –

+0

참고 작업 중입니다. API를 확인 했습니까? DynamicModel : 오류는 생성자, 공용 클래스 derivedClass 만드는 동안 { 공공 derivedClass() 을 :베이스 ("ExpenseManager", "수입", "ID") { } } 이라는 ctor에, 그주는 경우 오류, 위의 이미지에 나와 있습니다. – kunjee