我正在为 MVC 5 互联网应用程序编写一些单元测试。
我应该在代码行中对预期值进行硬编码Assert
,还是在输入值更改之前从输入值计算该值。
这是一个例子:
我有一个函数可以从对象具有 a和a 的Account
对象中减去正确的余额。Account
subscriptionCostPerDay
accountBalance
这是代码:
account1.subscriptionCostPerDay = 0.99M;
account1.accountBalance = 10;
我正在测试的函数计算subscriptionCostPerDay
并从 中减去它accountBalance
。在上面的例子中,accountBalance
函数调用后应该是 9.01。
语句应该Assert
硬编码 9.01 的值,还是应该从原始对象值计算预期值?
以下是我上面提到的两种不同类型的示例:
1.
Assert.AreEqual(9.01M, account1Balance, "Account 1 has correct account balance");
2.
decimal expectedAccount1Balance = account1.accountBalance - account1.subscriptionCostPerDay;
Assert.AreEqual(expectedAccount1Balance, account1Balance, "Account 1 has correct account balance");
提前致谢。