0

白い自動化 API を使用して Silverlight アプリをテストしていますが、Silverlight で未処理の例外が発生した場合、これを単体テストに報告する方法や、白い API をチェックインして例外が発生したかどうかを確認する方法がわかりません。 . 誰でもこれを行う方法がありますか?

4

2 に答える 2

0

私は白いテストフレームワークに精通していませんが、おそらくテストで次のようなことを行うことができます。

[Test]
public void MyTest()
{
    bool unhandledExceptionFired = false;
    Application.Current.UnhandledException += (s,e) => unhandledExceptionFired = true;

    //test code....


    Assert.IsFalse(unhandledExceptionFired);
}

私が言ったように、私は言及された特定のテストフレームワークを使用していませんが、このようなものは機能するはずです。または、これが機能しない問題が発生していますか?

于 2010-02-04T00:13:17.363 に答える
0

IE の「ページ上のエラー」警告は GUI 要素であるため、白い API を介して確認できるはずです。IE ステータス バーを見つけてステータス メッセージをクエリし、メッセージ == 'ページのエラー' の場合は、テストでエラーをログに記録します。ステータス バーのテキストを検査するための以下のサンプル コード。

app = Application.Attach(Process.GetProcessesByName('iexplore')[0])
win = app.GetWindows()[0]
statusBar = win.Get(SearchCriteria.ByAutomationId('StatusBar'))
for item in statusBar.Items:
    print item.Id, String.Format("'{0}'", item.Text)

出力

StatusBar.Pane0 'Done'
StatusBar.Pane1 '' 
StatusBar.Pane2 ''
StatusBar.Pane3 '' 
StatusBar.Pane4 ''
StatusBar.Pane5 '' 
StatusBar.Pane6 ''
StatusBar.Pane7 'Internet'
于 2010-02-04T14:30:11.353 に答える