【发布时间】:2014-01-04 03:24:05
【问题描述】:
我有一些 void 方法,我需要测试它们,但我不确定如何去做。我只知道如何使用 Assert 测试返回某些东西的方法。 有人知道怎么做吗?你们知道这种风格的练习的一些链接吗?
【问题讨论】:
-
如果这些方法没有做任何你可以从外部观察到的事情,那么它们在做什么有用的工作?
标签: c# unit-testing tdd
我有一些 void 方法,我需要测试它们,但我不确定如何去做。我只知道如何使用 Assert 测试返回某些东西的方法。 有人知道怎么做吗?你们知道这种风格的练习的一些链接吗?
【问题讨论】:
标签: c# unit-testing tdd
你可以测试两件事:
第一种方法很简单(NUnit 示例):
var sut = new Sut();
sut.Excercise(foo);
Assert.That(sut.State, Is.EqualTo(expectedState)); // verify sut state
第二种方法需要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
嗯,你也可以测试是否抛出了适当的异常。
【讨论】: