我正在使用 Django,我需要编写一个需要计算的测试。手动计算预期值是最佳做法还是可以使用 sum 函数来执行此操作(见下文)这个例子对我来说更容易,因为我不必手动计算一些东西:def test_balance(self): amounts = [120.82, 90.23, 89.32, 193.92] for amount in amounts: self.mockedTransaction(amount=amount) total = Balance.total() self.assertEqual(total, sum(amounts))或者在这个例子中,我必须手动计算期望值:def test_balance(self): self.mockedTransaction(amount=120.82) self.mockedTransaction(amount=90.23) self.mockedTransaction(amount=89.32) self.mockedTransaction(amount=193.92) total = Balance.total() self.assertEqual(total, 494.29)
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
您的total
函数是否仅用于sum
获取数字列表的总和?如果是这样,则您的测试正在执行与被测代码相同的步骤。在这种情况下,第一个测试不会失败。最好使用手动生成的值。(如果total
只是 wrap sum
,那么我不会花很多时间担心它。该功能已经过彻底测试。)
如果Balance.total()
通过其他方法(如在数据库上运行的 SQL 查询)获取其值,则可以在测试方法中计算预期值,特别是在对值列表求和等简单情况下。如果计算非常复杂,那么您可能希望回到手动计算的值。否则,您的测试代码可能与被测代码一样难以调试。
添加回答
举报
0/150
提交
取消