我正在使用C#,Gallio和MbUnit为我们的测试框架编写一个带有UI的测试运行器,看起来我卡住了。我设法以编程方式运行测试,从列表视图中进行选择,并设法从文本框中获取测试结果,这一切都很好!但是,我需要一种方法来进入TestLog.WriteLine(Gallio)方法,并将测试中的日志显示到文本框中。下面是运行测试的代码,也是尝试从TestLog获取Write Lines的尝试失败:
MarkupStreamWriter streamWriter = TestLog.ConsoleOutput;
launcher.Logger = new MarkupStreamLogger(streamWriter);
launcher.TestProject.TestRunnerFactoryName = StandardTestRunnerFactoryNames.Local;
launcher.AddFilePattern(assembly.Location);
launcher.EchoResults = true;
var result = launcher.Run();
对此的任何意见将非常感谢!这是我的第一篇文章如果它不符合标准就道歉:)
非常感谢!
答案 0 :(得分:0)
我使用以下代码(webConsole是ILogger的一个实例):
var logger = new FilteredLogger((ILogger)new RichConsoleLogger(webConsole), Verbosity.Normal);
var setup = new RuntimeSetup();
setup.AddPluginDirectory(@"C:\Program Files (x86)\Gallio\bin");
if (!RuntimeAccessor.IsInitialized) {
RuntimeBootstrap.Initialize(setup, logger);
}
var progressMonitorProvider = new RichConsoleProgressMonitorProvider(webConsole);
var launcher = new TestLauncher { Logger = logger, ProgressMonitorProvider = progressMonitorProvider, RuntimeSetup = setup, EchoResults = true };
launcher.TestProject.TestRunnerFactoryName = StandardTestRunnerFactoryNames.Local;
launcher.AddFilePattern(@"\path\to\Tests.dll");
var testLauncherResult = launcher.Run();
webConsole.WriteLine(testLauncherResult.ResultSummary);