在测试具有不同输入的单个函数时(有些默认值),是否更好地练习:
def test_init(self):
page = HTMLGen("test", "path\goes\here")
self.assertEqual(page.path, "path\goes\here\index.html")
page_2 = HTMLGen("test", "path\goes\here", "cool_page")
self.assertEqual(page_2.path, "path\goes\here\cool_page.html")
或
def test_init(self):
page = HTMLGen("test", "path\goes\here")
self.assertEqual(page.path, "path\goes\here\index.html")
def test_init_with_filename(self):
page = HTMLGen("test", "path\goes\here", "cool_page")
self.assertEqual(page.path, "path\goes\here\cool_page.html")
第二种方法更好,因为如果第一个测试失败,第二个方法仍然有机会运行。这可以为您提供更多信息,以准确跟踪错误发生的位置以及导致该错误的原因。
此外,测试之间将运行任何清理/拆卸代码,这可以有助于确保测试是独立的。