2012-03-23 12 views
2

私はMessageBoxをポップアップするこの厄介な方法を持っています。だから私はそれをテストしようとするとき、私はこのようなことをしたい。TypeMockを作る方法すべてMessageBoxを無視する

/// <summary> 
    /// A test for LoadConfig exception 
    /// </summary> 
    [TestMethod] 
    public void LoadConfigTest1() 
    { 
     // Arrange 
     var target = new RFIDManager(); 
     Isolate.WhenCalled(() => ConfigurationManager.AppSettings[0]).WillThrow(new Exception("foo")); 
     Isolate.WhenCalled(() => MessageBox.Show()).IgnoreCall(); 

     // Act 
     var result = target.LoadConfig(); 

     // Assert 
     Assert.IsFalse(result); 
    } 

これはコンパイルされません。

MessageBox.Show() 

ので、文字列引数を必要とします。ですから、引数が何であっても無視呼び出しを常に指定することは可能ですか?

表示される文字列がわかりません。

ありがとうございます!

答えて

1

はすべてMessageBox.Show()を無視すべきで

Isolate.WhenCalled(() => MessageBox.Show(null)).IgnoreCall(); 

を試してみてください。

+0

私は100%は確信していませんが、 'WillReturn(DialogResult.OK)'(または返すものは何でもよい)で 'IgnoreCall'の代わりに値を返す必要があると思います。 – vcsjones

+0

@vcsjones私はtypemockを多用していませんが、何もなかったので回答を投稿すると思いました。なぜあなたは答えを投稿せず、私は私のものを削除しますか(または私の答えを編集するだけですか?) –

+0

'私は多くのタイプのモックを使用していません。私は同じボートにいます。 – vcsjones

関連する問題