【问题标题】:Python AttributeError in Testing Goat测试山羊中的 Python AttributeError
【发布时间】:2015-06-19 15:29:57
【问题描述】:

我刚刚开始处理 Test-Driven Development with Python 并且不理解我得到的 AttributeError,因为它与书中的不同。

运行 selenium 测试的代码是:

from selenium import webdriver
import unittest

class new_visitor_test(unittest.TestCase):

        def set_up(self):
                self.browser = webdriver.Firefox()

        def tear_down(self):
                self.browser.quit()

        def test_can_start_a_list_and_retrieve_it_later(self):
                self.browser.get('http://localhost:8000')

                self.assertIn('To-Do', self.browser.title)
                self.fail('Finish the test!')

if __name__ == '__main__':
        unittest.main(warnings='ignore')

错误应该是:

Traceback (most recent call last):
File "functional_tests.py", line 18, in
test_can_start_a_list_and_retrieve_it_later
self.assertIn('To-Do', self.browser.title)
AssertionError: 'To-Do' not found in 'Welcome to Django'

我得到的错误是:

Traceback (most recent call last):
  File "functional_tests.py", line 13, in test_can_start_a_list_and_retrieve_it_later
    self.browser.get('http://localhost:8000')
AttributeError: 'new_visitor_test' object has no attribute 'browser'

是什么导致了这个错误?

【问题讨论】:

    标签: python unit-testing selenium


    【解决方案1】:

    setup方法应该叫setUp(),teardown方法-tearDown()

    class new_visitor_test(unittest.TestCase):
        def setUp(self):
            self.browser = webdriver.Firefox()
    
        def tearDown(self):
            self.browser.quit()
    
        def test_can_start_a_list_and_retrieve_it_later(self):
            self.browser.get('http://localhost:8000')
    
            self.assertIn('To-Do', self.browser.title)
            self.fail('Finish the test!')
    

    方法其实是named correctly in the book

    【讨论】:

    • 哦,好的,所以这必须特定于unittest,而不是样式选择。我知道这会归结为某种新手打字错误!谢谢!
    • 是的,我很尴尬!
    猜你喜欢
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    • 2022-01-22
    • 2021-01-31
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    相关资源
    最近更新 更多