如何使用C#从Gallio的TestLog中获取信息并将其检索到我的测试运行中?

时间:2014-07-23 08:54:17

标签: c# visual-studio-2010 mbunit gallio test-runner

我正在使用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();

对此的任何意见将非常感谢!这是我的第一篇文章如果它不符合标准就道歉:)

非常感谢!

1 个答案:

答案 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);
相关问题