【发布时间】:2015-12-19 01:38:20
【问题描述】:
就像听起来一样,我有一个包含两个测试的基本功能测试套件。我正在使用一个小的层次结构来创建一个名为FunctionalTestBase 的共享类,它由两个子类继承。在FunctionalTestBase 中,我使用flask_testing 导入LiveServerTestCase,并且还使用Splinter 和SQLAlchemy。在我的设置方法中,我基本上想做四件事:创建一个浏览器,我可以用它来练习我的应用程序,让我的应用程序运行,创建一个数据库连接,并为我的数据库播种。
这是我的设置方法的样子:
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()
我的实际测试用例存在于两个子类中,我只是使用超类在两个用例/类之间共享此设置。我的问题是,当我运行两个测试时,运行的第一个测试(无论哪个)都运行良好,而第二个测试永远不会运行。在我看来,我错过了拆解难题的关键部分,我无法弄清楚它是什么!非常感谢任何帮助。
【问题讨论】:
标签: python flask flask-sqlalchemy functional-testing splinter