根据我正在运行的测试,是否可以配置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