2016-03-25 12 views
2

Dieser Test soll einen Benutzer anmelden, indem er die Supermethode TALogin.test() aufruft, die die Anmeldeinformationen (URL, Benutzername/Kennwort usw.) weiterleitet und den Benutzer dann ausmeldet. Allerdings, wenn ich dies ausführen, läuft es die TALogin Teil und dann schließt und führt es wieder, aber die Abmeldung Teil.Testfall zweimal nicht ausgeführt

Also, ich folgendes:

Ran 2 tests in 65.990s 

OK 

Ich möchte nur einmal ausgeführt werden; Melden Sie sich an und führen Sie die Abmeldung durch.

Hier ist mein Code:

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__) 

Antwort

1

Dies geschieht, weil Sie nicht nose zu sagen, dass Sie wollen nur die Tests in TALogout_Test laufen. Es läuft sowohl TALogin.test als auch TALogout_Test.test.

Eine Möglichkeit, die Klasse, die Sie Tests geladen werden soll angeben, ab mit nose.run() ist 's suite Parameter und eine unittest.TestLoader' s loadTestsFromTestCase() Methode:

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

Es ist ein Bingo! Vielen Dank! – AtxTom