2013-12-16 38 views
6

Bazı geçersiz yöntemlerim var ve bunları test etmem gerekiyor, ancak nasıl yapılacağından emin değilim. Bir şeyi geri getiren yöntemleri nasıl test edeceğimi biliyorum, Assert'i kullanarak. Birisi bunu nasıl yapacağını biliyor? Bu tarzdaki egzersizlerle bazı bağlantılar biliyor musunuz?Geçersiz yöntemleri nasıl test edebilirim?

+0

Eğer yöntemler harici olarak gözlemleyebileceğiniz bir şey yapmıyorsa, ne işe yarar? –

cevap

10

İki şey test edebilirsiniz: void yöntem çağrısı (devlet tabanlı test) void yöntem çağrısı (etkileşim testi)

Birinci yaklaşım sırasında bağımlılıkları ile

  • Etkileşim sonra

    • Devlet değişiklikleri basittir (NUnit örneği):

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

      İkinci yaklaşım gerektirir s mocks (Moq örnek): Uygun istisnalar atılan eğer

      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 
      

      Eh, sen de test edebilirsiniz.

  • İlgili konular