2016-11-22 6 views
0

コントローラのアクション(MVC 5)の以下のユニットテストがあります。 (?):C#ユニットテスト:Debug.Assertの代わりに条件付きアクセスを使用しても問題ありませんか?

私は条件付きアクセスを使用しています resultオブジェクトの代わりに見ることができるように

[TestMethod] 
    public void Edit_ValidContactIdPassed_ShouldReturnEditViewWithContact() 
    { 
     var result = _controller.Edit(1) as ViewResult; 
     result?.ViewData.Model.Should().BeOfType<Contact>(); 
    } 

:試験の目的は、コントローラの編集アクションはタイプContactのモデルを返すことを確認することです

 Debug.Assert(result != null, "result != null"); 

私は条件付きアクセスがより読みやすいと思っていますが、単体テストのコンテキスト内で問題はありますか?それは、この場合に== nullであればまあ

+0

この質問はhttp://codereview.stackexchange.com/ – tym32167

+0

のように見えます。どのテストがテストされているかによって異なります。仕様に常に結果が必要であると記載されている場合は、nullをチェックするとエラーが隠されることがあります。 –

+0

このテストの目的は何ですか?適切なメソッド名を構築する方法を本当に読んでください。 – mybirthname

答えて

1

あなたはvar resultとテストをテストしている場合は、でなければなりませんあなたが潜在的なNullPointerException

Assert.IsNotNull(result); 

を防ぐ条件付きアクセスと同様に解雇されることから、エラーを防ぐことができます結局、それほど悪くはありません:)!

関連する問題