我正在尝试建立一些测试用例,并且已阅读到您应该尝试限制每个测试用例的断言数量。
所以我的问题是,测试带有多个输入的功能的最佳方法是什么?例如,我有一个函数,可分析用户的字符串并返回分钟数。字符串可以采用形式"5w6h2d1m"
,其中w, h, d, m
对应于星期,小时,天和分钟数。
如果我想遵循“每个测试规则1条断言”,我将不得不对每种输入变化进行多次测试?这似乎很愚蠢,所以我只有这样:
self.assertEqual(parse_date('5m'), 5)
self.assertEqual(parse_date('5h'), 300)
self.assertEqual(parse_date('5d') ,7200)
self.assertEqual(parse_date('1d4h20m'), 1700)
在一个测试用例中。有没有更好的办法?