使用Python的Nose setUp / tearDown方法创建模块

时间:2013-09-26 09:53:57

标签: python module functional-testing nose

我开始使用python的Nose来执行我的功能测试。

我在SauceLab的服务中使用它。我从命令行执行测试,并在Sauce仪表板上查看报告。

现在,每个测试都是一个包含setUp(),the_test()和tearDown()方法的类。 在setUp()方法中,有一些功能传递给Sauce,配置将运行测试的Browser / version / OS。

def setUp(self):
        #REMOTE
        desired_capabilities = webdriver.DesiredCapabilities.FIREFOX
        desired_capabilities['version'] = '21'
        desired_capabilities['platform'] = 'Windows XP'
        desired_capabilities['name'] = className.getName(self) 
        desired_capabilities['record-video'] = False

        self.wd = webdriver.Remote(desired_capabilities=desired_capabilities,command_executor="http://the_username:the_API_key@ondemand.saucelabs.com:80/wd/hub")
        self.wd.implicitly_wait(10)

我想做以下事情......: 创建一个包含setUp和tearDown函数的单独文件,每次我需要它们时(在测试/测试之前和之后),只需按名称调用它们。 现在它们存在于我拥有的每个python文件中,它们是同一段代码。

此外,我认为有一种方法可以让鼻子自动查看这两个功能,并在需要时调用它们。这可行吗?

提前谢谢

1 个答案:

答案 0 :(得分:1)

把它们放在超级课堂上。

def MyTestCase(TestCase):

    def setUp(self):
        # do setup stuff

然后,每个测试都可以从MyTestCase继承。然后,您可以在每个测试类中进一步骑过setUp或tearDown。但是请记住也要调用超类init方法。