我正在玩TDD和一般的单元测试。我见过的所有例子都返回值,这似乎是最简单的情况。但是,如果我的函数没有返回值,该怎么办?
例如,假设我有一个Actor类,我需要一种方法来增加它的“健康”。我做了一个像下面这样的单元测试然后让Actor类来满足它,但这样做是否正常?我没有看到很多在单元测试中使用属性的例子。我应该对这种东西有不同的想法吗?
[TestMethod]
public void IncreaseHealth_PositiveValue_PositiveHealth()
{
Actor a = new Actor();
int beforeHealth = a.Health;
a.IncreaseHealth(5);
int afterHealth = a.Health;
Assert.AreEqual(beforeHealth + 5, afterHealth);
}
答案 0 :(得分:4)
这个测试是一个好的开始。但是,就像测试返回值的方法一样,您应该测试具有副作用的方法的边界条件。在这种情况下,您还应该检查
尽管您使用本地初始化对象很好,但您也可以将其放在单元测试对象上,并使用[Setup]
方法初始化它。