首次测试后,测试Flask应用程序失败

时间:2015-12-19 01:38:21

标签: python flask flask-sqlalchemy functional-testing splinter

听起来,我有一个基本的功能测试套件,有两个测试。我使用一个小的层次结构来创建一个名为FunctionalTestBase的共享类,它由两个子类继承。在FunctionalTestBase我使用flask_testing导入LiveServerTestCase,并且还使用SplinterSQLAlchemy。在我的安装方法中,我基本上要做四件事:创建一个浏览器,我可以使用它来运行我的应用程序,让我的应用程序运行,创建数据库连接,并为我的数据库设定种子。

这就是我的设置方法:

def setUp(self):
    self.browser = Browser(test_browser)
    self.driver = webdriver.Firefox
    self.app = self.create_app()
    self.db = db
    self.db.app = self.app
    self.__drop_database()
    self.db.create_all()

    # ...seed data after this...

我的tearDown方法如下:

def tearDown(self):
    self.browser.quit()
    self.db.session.remove()
    self.__drop_database()

def __drop_database(self):
    self.db.reflect()
    self.db.drop_all()

我的实际测试用例存在于两个子类中,我只是使用超类在两个case / classes之间共享此设置。我的问题是,当我运行两个测试时,运行的第一个测试(无论哪个测试)都能正常工作,第二个测试永远不会起作用。在我看来,我失踪了一个关键的泪滴谜题,我无法弄清楚它是什么!非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

看起来你需要切换到 setUpClass() and tearDownClass()类方法,而不是setUptearDown实例方法。