我想要做的是創建一個文件夾,其中人們可以放入一個文件進行測試,並讓pyunit自動展開以便作爲單獨的測試運行測試。目前,我在做什麼是:具有可變數量測試的PyUnit
class TestName(unittest.testcase):
def setUp(self):
for file in os.listdir(DIRECTORY):
# Setup Tests
def test_comparison(self):
for file in os.listdir(DIRECTORY):
# Run the tests
def suite():
return unittest.TestSuite([
unittest.TestLoader().loadTestsFromTestCase(TestName),
])
if __name__ == "__main__":
unittest.TextTestRunner(verbosity=2).run(suite())
顯然存在很多問題與,例如,如果測試失敗,整個事情失敗了,等等,等等,我想什麼做的,是建立pyunit,以便它將爲放置在目錄中的每個文件運行測試(或測試用例)。現在,我想我可以做的就是創建上面列出的類,只有兩種方法,但爲了做到這一點成功,我將不得不在上下文中添加參數,如:
def setUp(self, filepath):
# Do stuff
然後,我可以把循環中的代碼的主要塊,並運行測試是這樣的:
def suite():
return unittest.TestSuite([
unittest.TestLoader().loadTestsFromTestCase(TestName, file),
])
if __name__ == "__main__":
for file in DIRECTORY:
unittest.TextTestRunner(verbosity=2).run(suite(file))
但我不知道該怎麼辦,如果沒有幾乎重寫孔unittest.TestCase生成()類。有沒有什麼辦法可以做到這一點,或者有什麼其他方式可以根據文件夾中有多少文件動態擴展測試/測試用例集?謝謝。
那些看起來像發現單元測試工具。也許我應該澄清一下,將要放入文件夾的文件是數據文件(二進制文件和圖像),它們都可以用標準算法處理。因此,除非爲每個文件編寫單獨的測試,否則我不會看到如何使用它。 – 2010-06-29 03:00:43
啊,好的。我沒有從原來的問題中得到這些。因此,您試圖處理'for x in y:test(x)'問題,其中測試在特定的'x'上失敗,但是您希望它無論在'y'上都運行嗎? – 2010-06-29 03:50:19
基本上是的。我還想以類似於單個測試的格式將其輸出給用戶,但一旦啓動並運行,這樣做很簡單。謝謝。 – 2010-06-29 04:01:45