2017-02-10 18 views
0

Я использую UnitTest и pytestPython- UnitTest почему SetUpClass дает Attribué ошибку

@pytest.mark.usefixtures("oneTimeSetUp","setUp") 
@ddt 
class SendformTest(unittest.TestCase): 


    @pytest.fixture(autouse=True) 
    def classSetup(self,oneTimeSetUp): 
     self.sf = SendForms(self.driver) 
     self.ts = TestStatus(self.driver) 

    @classmethod 
    def setUpClass(self): ############ I want this method to run just once after login 
     self.sf.navigateToCCForms("img") 

Когда я пытаюсь запустить это я получаю сообщение об ошибке atrribute AttributeError: объект типа «SendformTest» не имеет атрибута «SF»

+0

Я предполагаю, что 'setUpClass' работает до' classSetup'. Есть ли причина, по которой вы используете как pytest, так и unittest? Я понимаю, что pytest предназначен для использования вместо unittest, а не в дополнение к нему. – Aaron

+0

Мне сказали, что pytest комплименты unittest, и так я узнал селен, поэтому никогда не научился использовать только один – Ronron

ответ

0

Хотя я не совсем знаком с pytest, быстрый поиск в Google заставил меня перейти на их страницу об использовании pytest with unittest.TestCase. Примечание внизу гласит:

unittest.TestCase methods cannot directly receive fixture function arguments as implementing that is likely to inflict on the ability to run general unittest.TestCase test suites

Так что я думаю не ваше приспособление никогда не работает, что приводит к отказу метода установки в.