单元测试日志在WP7应用程序测试中

时间:2011-09-22 05:42:31

标签: c# silverlight unit-testing windows-phone-7

我正在使用Silverlight Unit Test框架来测试我的应用程序。单元测试框架成功执行并在电话应用程序页面中显示结果。 我想将结果存储在设备本身的日志文件中,而不是将其显示在设备的手机应用程序页面上。请在下面找到显示应用程序结果的图像

http://www.jeff.wilcox.name/wp-content/uploads/2010/03/SilverlightUnitTestFrameworkforWindowsPhone1_thumb.jpg

请建议是否有办法。

谢谢, 木谷

1 个答案:

答案 0 :(得分:1)

据我所知,结果未存储在日志中,但您可以访问结果。

在单元测试的MainPage.xaml.cs中,您可以挂钩TestHarness的TestHarnessCompleted事件,以获取有关已完成的测试运行的详细信息。然后,您可以根据需要格式化输出,并保存到IsolatedStorage或/和传输设备。

//inside MainPageLoad()
var unitTestSettings = UnitTestSystem.CreateDefaultSettings();
unitTestSettings.TestHarness.TestHarnessCompleted += TestRunCompletedCallback;
var testPage = UnitTestSystem.CreateTestPage(unitTestSettings) as IMobileTestPage;

void TestRunCompletedCallback(object sender, TestHarnessCompletedEventArgs e) {
    var testHarness = sender as UnitTestHarness;
    foreach (var result in testHarness.Results) {
        switch (result.Result) {
            case TestOutcome.Passed:
            case TestOutcome.Completed:
                break;
            default:
                // must be a failure of some kind
                // perform some outputting
                break;
         }
    }
}

我想我在某处读到可能有办法以编程方式将文件从IsolatedStorage传输到桌面上。我改为将测试结果格式化为String,然后使用NLog将该输出发送到我的桌面/构建服务器上运行的listening servicefull source NLog download提供了一个用于创建和运行此服务的Visual Studio示例项目。

干杯, 人