Python 第一次测试后,测试瓶应用程序失败
正如听起来一样,我有一个基本的功能测试套件,包括两个测试。我使用一个小的层次结构来创建一个名为Python 第一次测试后,测试瓶应用程序失败,python,flask,flask-sqlalchemy,functional-testing,splinter,Python,Flask,Flask Sqlalchemy,Functional Testing,Splinter,正如听起来一样,我有一个基本的功能测试套件,包括两个测试。我使用一个小的层次结构来创建一个名为FunctionalTestBase的共享类,该类由两个子类继承。在FunctionalTestBase中,我使用flask\u testing导入LiveServerTestCase,并且还使用Splinter和SQLAlchemy。在我的设置方法中,我基本上要做四件事:创建一个浏览器,我可以使用它来运行我的应用程序,让我的应用程序运行,创建数据库连接,以及为我的数据库设置种子 这是我的设置方法的外观
FunctionalTestBase
的共享类,该类由两个子类继承。在FunctionalTestBase
中,我使用flask\u 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...
我的拆卸方法如下:
def tearDown(self):
self.browser.quit()
self.db.session.remove()
self.__drop_database()
def __drop_database(self):
self.db.reflect()
self.db.drop_all()
我的实际测试用例存在于这两个子类中,我只是使用超类在这两个用例/类之间共享这个设置。我的问题是,当我运行这两个测试时,运行的第一个测试(无论哪一个)都能完美地工作,而第二个测试永远不会工作。在我看来,有一个关键的一块撕裂难题,我错过了,我不知道它是什么!非常感谢您的帮助。看来您需要切换到
类方法,而不是
setUp
和tearDown
实例方法。看起来您需要切换到
类方法,而不是
setUp
和tearDown
实例方法。这不起作用。我无法将它们放入类方法中,因为我的应用程序需要存在于我相信的每个测试类实例上。这不起作用。我不能将它们放入类方法中,因为我的应用程序需要存在于我相信的每个测试类实例上。