我正在尝试以编程方式检查我的单元测试是否正在作为部署过程的一部分传递.该应用程序使用MBunit和Gallio作为其单元测试框架.
这是我的代码:
var setup = new Gallio.Runtime.RuntimeSetup();
setup.AddPluginDirectory(@"C:\Program Files\Gallio\bin");
using (TextWriter tw = new StreamWriter(logFilename))
{
var logger = new Gallio.Runtime.Logging.TextLogger(tw);
RuntimeBootstrap.Initialize(setup, logger);
TestLauncher launcher = new TestLauncher();
launcher.AddFilePattern(dllToRunFilename);
TestLauncherResult result = launcher.Run();
}
Run Code Online (Sandbox Code Playgroud)
这是我正在加载的DLL中包含的测试(我已经验证了这适用于Icarus测试运行器):
public class Tests
{
[Test]
public void Pass()
{
Assert.IsTrue(true);
}
[Test]
public void Fail()
{
Assert.Fail();
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,我得到以下值 results

这是不正确的,因为确实要运行测试!日志文件中包含以下内容
已禁用的插件'Gallio.VisualStudio.Shell90':插件启用条件不满足.请注意,这是必须托管在第三方应用程序中才能工作的插件的预期行为.启用条件:'$ {process:DEVENV.EXE_V9.0}或$ {process:VSTESTHOST.EXE_V9.0}或$ {process:MSTEST.EXE_V9.0}或$ {framework:NET35}'.已禁用的插件'Gallio.VisualStudio.Tip90':该插件依赖于另一个禁用的插件:'Gallio.VisualStudio.Shell90'.
如何解决此问题并找到测试结果?