2012-03-27 28 views
0

thisチュートリアルの後に問題が発生しました。Windows Phoneテストに失敗しました

[TestMethod] 
    [ExpectedException(typeof(Exception))] 
    public void VerifyPropertyNameMethod_NonExistentPropertyString_ThrowsException() 
    { 
     var customer = new Customer() { FirstName = "June", LastName = "Smith" }; 
     var sut = new CustomerViewModel(_customerRepository, customer); 
     sut.VerifyPropertyName("NonExistentPropertyName"); 

    } 

以下のメッセージでテストが失敗します。テストはobviosuly例外をスローしますが、それは想定されています!なぜテストが失敗するのですか?

VerifyPropertyNameMethod_NonExistentPropertyString_ThrowsException : FailedTest method FirstOnSiteWindowsPhoneApp.AppCode.Tests.Unit.CustomerViewModelTests.VerifyPropertyNameMethod_NonExistentPropertyString_ThrowsException threw exception: 
FirstOnSiteWindowsPhoneApp.AppCode.Domain.VerifyPropertyNameException: Exception of type 'FirstOnSiteWindowsPhoneApp.AppCode.Domain.VerifyPropertyNameException' was thrown. 
at FirstOnSiteWindowsPhoneApp.AppCode.ViewModel.CustomerViewModel.VerifyPropertyName(String propertyName) in CustomerViewModel.cs: line 29 
at FirstOnSiteWindowsPhoneApp.AppCode.Tests.Unit.CustomerViewModelTests.VerifyPropertyNameMethod_NonExistentPropertyString_ThrowsException() in CustomerViewModelTests.cs: line 53 
+0

「NonExistantPropertyName」という値が無効であるとフラグが立てられ、例外がスローされます。あなたはあなたの質問を明確にすることができますし、多分あなたが苦労している場所についてもう少し詳細を与えることができますか? – anothershrubery

答えて

4

予期しない例外のタイプは間違っています。それは次のようになります。

チュートリアルでは、同様示し何、あなたが代わりに typeof(Exception)を持っている理由は、私はよく分からない
[ExpectedException(typeof(VerifyPropertyNameException))] 

...

ExpectedException正確例外の指定された型を期待し、それに由来するものだけではありません。個人的に私はAssert.Throws<...>(() => ...)を好むので、投げられると予想されるコードの範囲を制限しますが、それは別の問題です。

関連する問題