c# - WP7 应用程序测试中的单元测试日志

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

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

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

如果有什么办法,请提出来。

谢谢, 木谷

最佳答案

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

在单元测试的 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 传输到桌面的方法。我改为将测试结果格式化为字符串,然后使用 NLog将该输出发送到 listening service在我的桌面/构建服务器上运行。 full source NLog download提供用于创建和运行此服务的 Visual Studio 示例项目。

干杯, 铝。

关于c# - WP7 应用程序测试中的单元测试日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7510029/

相关文章:

c# - 点击或单击 TextBox 时执行代码?

objective-c - 在 UIViewController 上设置只读 navigationController 属性以进行模拟

reactjs - Jest : Testing generator function which yields another generator function

Silverlight - 在列表框模板中绑定(bind)列表框

c# - Silverlight4 + C# : Using INotifyPropertyChanged in a UserControl to notify another UserControl is not notifying

c# - 为什么 AspNetCompatibilityRequirementsMode.Allowed 会修复此错误?

unit-testing - cmake:如何分别编译生产代码和测试代码

c# - NHibernate - 问号而不是查询中的值

c# - 在 C# 正则表达式中将\r 视为\n

c# - 数据转换失败。 [ OLE DB 状态值(如果已知)= 2 ]