今天我第一次使用 TDD。我正在使用 nUnit。
我有一种方法,我可以插入多个不同的输入并检查结果是否有效。
我读到一个测试中的多个断言不是问题,我真的不想为每个输入编写新的测试。
具有多个断言的示例:
[TestFixture]
public class TestClass
{
public Program test;
[SetUp]
public void Init()
{
test = new Program();
}
[Test]
public void Parse_SimpleValues_Calculated()
{
Assert.AreEqual(25, test.ParseCalculationString("5*5"));
Assert.AreEqual(125, test.ParseCalculationString("5*5*5"));
Assert.AreEqual(10, test.ParseCalculationString("5+5"));
Assert.AreEqual(15, test.ParseCalculationString("5+5+5"));
Assert.AreEqual(50, test.ParseCalculationString("5*5+5*5"));
Assert.AreEqual(3, test.ParseCalculationString("5-1*2"));
Assert.AreEqual(7, test.ParseCalculationString("7+1-1"));
}
}
但是当某些事情失败时,很难阅读哪个断言失败了,我的意思是如果你有很多,你必须遍历所有并找到正确的断言。
如果断言失败,是否有任何优雅的方式来显示我们设置了什么输入,而不是结果和预期结果?
谢谢你。