我的問題與this問題有關,但我不知何故移動了一步,並使用nunit實現了一個測試框架。使用Revit API的BDD/TDD
當我在Revit中運行測試框架插件時,測試框架以某種方式鎖定測試程序集,從而無法重新編譯測試程序集。爲了解決這個問題,我嘗試製作一個卷影副本,以便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());
沒有人有任何想法如何解決這個問題?
謝謝達仁,我最終不得不修改nunit TestAssemblyBuilder類來從字節數組中加載程序集。希望我現在可以用Revit啓動一些TDD的東西! 至於你提到的XAML測試,不知道你的設置是什麼,但我沒有真正測試控件,因爲我使用MVVM;我只是測試ViewModels。 – alital