我的 Flask 应用程序上有一个测试装置,它启动开发服务器来测试一些用户交互。对于第一个测试,我只想确保服务器已启动。一般情况下执行此操作的最佳方法是什么(无需测试特定响应代码)?我希望我可以使用self.assertTrue(response)
,但即使我更改了端口,这似乎也通过了。
这是有问题的测试用例:
class TestAuth(TestCase):
def create_app(self):
db.init_app(app)
return app
@classmethod
def setUpClass(cls):
cls.server_proc = subprocess.Popen(
[sys.executable, 'run.py'],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
time.sleep(5)
@classmethod
def TearDownLcass(cls):
os.kill(cls.server_proc.pid, signal.SIGINT)
def setUp(self):
selenium_logger = logging.getLogger(
'selenium.webdriver.remote.remote_connection')
selenium_logger.setLevel(logging.WARN)
self.browser = webdriver.Firefox()
db.create_all()
def tearDown(self):
db.session.remove()
db.drop_all()
self.browser.quit()
def test_server_up(self):
response = self.client.get('http://localhost:5000/')
self.assertTrue(response)