2011-09-22 174 views
2

我使用Silverlight單元測試框架來測試我的應用程序。單元測試框架成功執行並在手機應用程序頁面顯示結果。 我想將結果存儲在設備本身的日誌文件中,而不是顯示在設備上的電話應用程序頁面上。請在下面找到該圖顯示了一個應用程序單元測試WP7應用程序測試日誌

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

請建議,如果有任何的方式來做到這一點顯示的結果。

感謝, 木谷

回答

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以編程方式將文件傳輸到您的桌面上。我將測試結果格式化爲一個字符串,然後使用NLog將該輸出發送到在我的桌面/ buildserver上運行的listening servicefull source NLog download提供了用於創建和運行此服務的Visual Studio示例項目。

乾杯, Al。

+0

如果你讓我知道你是如何存儲這些結果也是很好的 –

+0

我不會在手機的任何地方存儲日誌。在TestRunCompletedCallback中,我將測試結果格式化爲XML字符串,並使用NLog將它們發送到本地服務。我已經更新了答案以反映這一點並添加了一些鏈接。我希望這有幫助。 – ajmccall

+0

感謝您的幫助 –