考虑单元测试字典对象.您可能编写的第一个单元测试只是将一些项添加到字典中并检查异常.下一个测试可能类似于测试计数是否准确,或者字典返回正确的键或值列表.
但是,后面这些情况中的每一个都要求字典可以首先可靠地添加项目.如果添加项目的测试失败,我们不知道我们后来的测试是否因为他们正在测试的内容不正确而失败,或者因为我们可以可靠地添加项目的假设是不正确的.
我是否可以声明一组单元测试,如果其中任何一个测试失败,导致给定的单元测试是不确定的?如果没有,我应该如何最好地解决这个问题?我是否错误地设置了我的单元测试,以至于我遇到了这种困境?
我正在尝试使用NUnit进行单元测试.目前,我正在编写一个简单的测试来熟悉语法和单元测试的方法.但我不确定我是否通过以下测试做得对:
被测试的类包含一个包含水果名称的字符串列表,其中可以添加新的水果名称class_under_test.addNewFruit(...).因此,为了测试其功能addNewFruit(...),我首先使用该方法将新字符串添加到列表中(例如"Pinapple"),然后在下一步中验证列表是否包含此新字符串.
我不确定这是否是测试方法功能的好方法,因为我依赖于另一个函数的响应(我已经在之前的单元测试中测试过).
这是测试此功能的方法,还是有更好的解决方案?
public void addNewFruit_validNewFruitName_ReturnsFalse()
{
//arrange
string newFruit = "Pineapple";
//act
class_under_test.addNewFruit(newFruit);
bool result = class_under_test.isInFruitList(newFruit);
//assert
Assert.That(!result);
}
Run Code Online (Sandbox Code Playgroud)