Flask_testing为看似工作的端点意外返回404



为我的flask应用程序编写一些单元测试。端点"/"有效,当我尝试使用poster时返回200,但是flask_testing给出AssertionError: 404 != 200

我已经设置了一个基本配置。

class BaseTestCase(TestCase):
def create_app(self):
app = Flask(__name__)
app.config['TESTING'] = True
app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///:memory:"
app.config['JWT_SECRET_KEY'] = environ['JWT_SECRET_KEY']
db = SQLAlchemy(app)
db.init_app(app)
return app

这就是测试。

class FlaskTestCase(BaseTestCase):
def test_root(self):
response = self.client.get('/')
self.assertEquals(response.status_code, 200)

测试输出

======================================================================
FAIL: test_root (test.server-test.FlaskTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/my_name/path/to/my_project/test/server-test.py", line 13, in test_root
self.assertEquals(response.status_code, 200)
AssertionError: 404 != 200
----------------------------------------------------------------------
Ran 1 test in 0.032s
FAILED (failures=1)

在我的情况下,我在测试的路由中有这个if语句

if len(books_per_request) == 0:
response = make_response(jsonify(message="value exceeded books count"), 404)

当它成功请求时,我在测试运行和计数len==0时发送了404错误,如果这是你像我一样的第一次测试,它会一直返回错误。如果一切正常,请检查你的主路由"/">

  1. 确保它存在于init.py文件中
  2. 并确保它不会返回任何404错误

我希望这能帮助任何

相关内容

  • 没有找到相关文章

最新更新