gpt4 book ai didi

python - 使用 MongoEngine 在 Flask 中测试套件

转载 作者:太空狗 更新时间:2023-10-30 00:50:55 25 4
gpt4 key购买 nike

我在 Flask 中有一个小应用程序,我想对其进行测试。我以前使用过 Django 测试,我只是开始掌握 Flask 中较低级别的功能。

我的测试目前是这样的:

import unittest
from config import app
from mongoengine import connect
from my_app.models import User

class TestCase(unittest.TestCase):

def setUp(self):
app.config['TESTING'] = True
app.config["MONGODB_DB"] = 'xxx'
connect(
'xxx',
username='heroku',
password='xxx',
host='xxx',
port=xxx
)
self.app = app.test_client()

def tearDown(self):
pass

def test_create_user(self):
u = User(username='john', email='john@example.com')
u.save()

我知道这是错误的,因为测试通过了,但我已经在数据库中添加了一个条目。我应该如何在不污染数据库的情况下测试用户的创建?我原以为 app.config['TESTING'] 在这里有一定的意义。

最佳答案

我知道有两种方法:

<强>1。单独的测试数据库

这是 Django 自动为单元测试做的事情。它只是使用一个单独的数据库进行测试,在每次测试运行之前和之后都会清除该数据库。您可以手动实现类似的功能。

<强>2。使用 Mocking 避免实际使用数据库

在大多数情况下,这是更可取的方法。您使用模拟来模拟各种功能,以便测试实际上不会在真实数据库中创建/编辑/删除信息。由于多种原因,这更好,最显着的原因是单元测试的性能/速度。

关于python - 使用 MongoEngine 在 Flask 中测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16554127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com