제 질문은 this 질문과 관련이 있습니다. 그러나 저는 어떻게 든 한 단계 더 나아가 nunit을 사용하여 테스트 프레임 워크를 구현했습니다.Revit API가있는 BDD/TDD
Revit에서 테스트 프레임 워크 addin을 실행하면 테스트 프레임 워크가 어떻게 든 테스트 어셈블리를 잠그기 때문에 테스트 어셈블리를 다시 컴파일 할 수 없습니다. 이 문제를 해결하기 위해 섀도 복사본 만들기를 시도 했으므로 nunit 테스트 러너가 복사 된 어셈블리에서 실행됩니다. 그러나 일단 처음으로 테스트를 실행하면 테스트 실행은 업데이트 된 복사본에서 작동하지 않습니다. 그것은 테스트 주자가 DLL을 캐시하고 항상 캐시 된 복사본에 대한 테스트를 실행하려고하는 것과 같습니다.
그래서 테스트 어셈블리가 업데이트 될 때마다 Revit을 닫은 후 다시 실행하여 실제 테스트를 실행해야합니다. Revit 용 테스트 프레임 워크를 구현 한 가장 큰 이유는 Revit API를 사용하여 BDD/TDD를 수행 할 수 있기 때문입니다.
이 내가 테스트를 실행하는 방법의 코드는 다음과 같습니다
TestPackage theTestPackage = new TestPackage(testDll);
RemoteTestRunner testRunner = new RemoteTestRunner();
testRunner.Load(theTestPackage);
TestResult testResult = testRunner.Run(new NullListener());
사람이 어떻게이 문제를 해결하는 어떤 생각을 가지고 있습니까?
감사합니다. Daren, 결국 nunit TestAssemblyBuilder 클래스를 수정하여 바이트 배열에서 어셈블리를로드해야했습니다. 이제 Revit으로 TDD 몇 가지를 시작할 수 있습니다. 언급 한 XAML 테스트의 경우 설치가 확실하지 않지만 MVVM을 사용하면서 실제로 컨트롤을 테스트하지는 않습니다. 난 그냥 ViewModels를 테스트합니다. – alital