Python单元测试:多个测试函数用于测试具有不同输入的单个函数?

时间:2017-09-05 12:26:32

标签: python unit-testing

当测试具有不同输入的单个函数(某些是默认值)时,最好这样做:

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")

1 个答案:

答案 0 :(得分:1)

第二种方法更好,因为如果第一次测试失败,第二次测试仍然有机会运行。这可以为您提供更多信息,以便准确地追踪错误发生的位置以及导致错误的原因。

此外,任何清理/拆卸代码都将在测试之间运行,这有助于保证测试是独立的。