當測試與不同的輸入的單功能(一些是默認值),是它更好的做法是做:Python單元測試:使用不同的輸入測試單個函數的多個測試函數?
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")
我會去第二種方法,因爲這是更詳細的,也是兩種情況的目的有點不同。第一個案例測試一個空白的init,而第二個案例測試一個參數輸入。 – Szabolcs
絕對是第二種方法。你正在測試兩種不同的情況,所以你的第二種方法肯定是我認爲你應該使用的。它更加明確,有助於更好地記錄行爲。但是有一條評論。你應該確保'test_init'也被重命名以反映你正在測試的行爲。 – idjaw
https://en.wikipedia.org/wiki/Data-driven_testing https://github.com/wolever/parameterized – dm03514