测试用例 运行 两次而不是一次

Test case running twice not once

此测试应该通过调用 TALogin.test() 超级方法来登录用户,该方法传递凭据(URL、username/password 等),然后登录用户出去。但是,当我 运行 它 运行 是 TALogin 部分,然后关闭并再次 运行 是注销部分。

所以,我得到以下信息:

Ran 2 tests in 65.990s

OK

我只想 运行 一次;登录然后注销。

这是我的代码:

from BaseTestCase import BaseTestCase
from pages.BasePage import BasePage
from login.TALogin_Test import TALogin
import nose

class TALogout_Test(TALogin):

    def setUp(self):
        super(TALogout_Test, self).setUp()

    def test(self):
        super(TALogout_Test, self).test()
        base_obj = BasePage(self.driver)
        base_obj.do_logout()

    def tearDown(self):
        super(TALogout_Test, self).tearDown()

if __name__ == "__main__":
   nose.run(defaultTest=__name__)

发生这种情况是因为您没有告诉 nose 您只想 运行 TALogout_Test 中的测试。 运行同时 TALogin.testTALogout_Test.test

指定要从中加载测试的 class 的一种方法是使用 nose.run()suite 参数和 unittest.TestLoaderloadTestsFromTestCase() 方法:

from unittest import defaultTestLoader
nose.run(suite=defaultTestLoader.loadTestsFromTestCase(TALogout_Test))