2013-12-16 9 views
6

私はいくつかの無効なメソッドを持っているので、それらをテストする必要がありますが、私はそれを行う方法については分かりません。私は、Assertを使って何かを返すメソッドをテストする方法を知っています。 誰かがそれを行う方法を知っていますか?あなたはこのスタイルのエクササイズといくつかのリンクを知っていますか?voidメソッドをテストするにはどうすればよいですか?

+0

メソッドが外部で観察できるものを実行しない場合、どのような有用な作業を行っていますか? –

答えて

10

あなたは二つのことをテストすることができます。voidメソッド呼び出し(状態ベースのテスト)のボイドメソッド呼び出し(相互作用テスト)

最初のアプローチの間に依存関係を持つ

  • の相互作用の後

    • 状態の変化を単純です(NUnitのサンプル):

      var sut = new Sut(); 
      sut.Excercise(foo); 
      Assert.That(sut.State, Is.EqualTo(expectedState)); // verify sut state 
      

      第二のアプローチが必要S mocks(部品番号サンプル):適切な例外がスローされた場合

      var dependencyMock = new Mock<IDependency>(); 
      dependencyMock.Setup(d => d.Something(bar)); // setup interaction 
      var sut = new Sut(dependencyMock.Object); 
      sut.Excercise(foo); 
      dependencyMock.VerifyAll(); // verify sut interacted with dependency 
      

      さて、あなたもテストすることができます。

  • 関連する問題