2009-03-08 5 views
2

NUnit을 사용하여 응용 프로그램이 완벽하게 작동하지 않고 C# 코드에 이미 연결된 C# 코드를 테스트하려고했습니다.NUnit을 통해 C++ 코드 실행

내 테스트에서는 AppDomain.CurrentDomain.ExecuteAssembly (..)를 통해 main 함수를 실행하지만 C# 코드가 C++과 "통신"하려고하면 예외가 발생하고 테스트가 중단됩니다. 예외가 System.Reflection.TargetInvocationException 있다면 누구나 가지고 있고 왜 그 일이 매우 도움이 될 것입니다 ... 감사, Naama

+0

디버거를 사용하여 예외를 throw하는 코드 비트를 분리 해 보았습니까? C# 또는 C++ 응용 프로그램에서 예외가 throw됩니까? – strager

+0

앱의 app.config에 아무 것도 추가하지 않았습니까? – eglasius

+0

디버거를 사용했으며 예외가 발생한 곳의 코드를 분리했습니다. C# 개체에 포함 된 C++ 개체를 만들려고 할 때 발생합니다. 그리고 난 내 응용 프로그램에서 app.config에 anyhing 추가 hahant –

답변

1

의심의 여지가 생성자 동안 통과되고있다, C#에서 생성자가 노력하고 있습니다 C++ 및 C++로 작성된 오브젝트 생성자 (예외가 발생했을 때 이미 응용 프로그램이 정상적으로 실행 중일 때 랩핑되고 완벽하게 작동 함)를 작성합니다. 그러나 응용 프로그램은 매우 복잡하지만 설명이 필요한 경우 실제 응용 프로그램을 상징하는 데모 응용 프로그램을 작성합니다.

+0

"너"는 내거야? – strager

1

C++ 코드의 클래스 생성자에서 예외가 throw 될 수 있습니다. 예외를 올바르게 처리하는지, 예외가 발생하지 않도록 생성자에게 적절한 정보를 제공하는지 확인하십시오.