【发布时间】:2020-06-05 03:16:29
【问题描述】:
我在 python 3 中为 flask 进行自动化测试时遇到问题。我尝试了 unittest、pytests、nosetests,但我仍然不知道如何为 flask 应用程序构建自动化测试。
以下是我使用 unittest 和 pytest 编写的代码
单元测试:
import unittest
from flaskfolder import flaskapp
class FlaskBookshelfTests(unittest.TestCase):
@classmethod
def setUpClass(cls):
pass
@classmethod
def tearDownClass(cls):
pass
def setUp(self):
# creates a test client
self.flaskapp = flaskapp.test_client()
# propagate the exceptions to the test client
self.flaskapp.testing = True
def tearDown(self):
pass
def test1(self):
result = self.flaskapp.get('/')
self.assertEqual(result.status_code, 200)
在这段代码中,我遇到了 flaskapp 没有任何 test_client() 函数的错误。
pytest:
import pytest
from flaskfolder import flaskapp
@pytest.fixture
def client():
db_fd, flaskapp.app.config['DATABASE'] = tempfile.mkstemp()
flaskapp.app.config['TESTING'] = True
with flaskapp.app.test_client() as client:
with flaskapp.app.app_context():
flaskapp.init_db()
yield client
os.close(db_fd)
os.unlink(flaskapp.app.config['DATABASE'])
def test1():
result = client.get('/')
assert result.data in 'Hello World'
在这个错误中收到“'function'没有任何属性get” 如果完成: def test1(client) 它会给出一个错误,即 flaskapp 没有任何属性 init_db。
【问题讨论】:
标签: python python-3.x flask automated-tests flask-testing