我的问题与这个问题有关,但我以某种方式更进一步并使用 nunit 实现了一个测试框架。
当我在 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());
有谁知道如何解决这个问题?