根據我正在運行的測試,是否可以配置setUp方法以使用不同的參數? 在setUp方法中,我有一個類,我想用不同的參數實例化,具體取決於我正在運行的測試。我明白,通常這就是測試方法的用處,但我需要在setUp之前實例化該類。爲測試類中的每個測試定製的設置
我擁有的解決方案是創建另一個方法,它可以完成我想要setUp做的所有事情,然後在每個測試中調用它,但是我想知道內置的setUp方法是否能夠做到這一點?
我知道下面的例子不起作用,因爲setUp沒有引用任何參數,但我正在尋找這些行的內容。
此外,什麼會是更好的替代呢?
例子:
class TestComponents(unittest.TestCase):
def __init__(self, *args, **kwargs):
self.app = MyApplication()
unittest.TestCase.__init__(self, *args, **kwargs)
def setUp(component):
self.app.start([component])
def testComponent1():
# test continues here
def testComponent2():
# test continues here
你可以像'mySetUp(self,** attrs)'這樣的方法並在測試中手動調用它嗎? – ddsnowboard
如果setUps根本不常見,則應該使用測試方法進行初始化。如果一些設置很常見,應該將它們放在單獨的測試套件中。無論如何,我想我們在這裏嘗試解決[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。您能否向我們展示一些代碼,讓我們更好地瞭解您在此嘗試完成的工作? –
是的,這是我想要做的,但我正在尋找一個更優雅的解決方案。這聽起來像是一個測試人員可能想要經常做的事情,並且認爲可能有一個開箱即用的解決方案。 – Spektor