【发布时间】:2021-06-11 06:19:43
【问题描述】:
我正在尝试为我的 Django 项目添加单元测试。我使用混音器来模拟模型。 模型如下图
from django.contrib.auth.models import User
class Mytable(Model):
username = models.OneToOneField(User, on_delete=models.CASCADE, db_column='username')
...
...
我的测试用例看起来像
class MyTest:
def test_test1(self):
mock_user = mixer.blend('django.contrib.auth.models.User')
stock_mock = mixer.blend('app.Mytable', username=mock_user)
但我在模拟用户模型时遇到了“太多的值无法解包”
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/Users/kketan/Documents/projects/Extractor/.venv/lib/python3.8/site-packages/mixer/main.py", line 566, in blend
type_mixer = self.get_typemixer(scheme)
File "/Users/kketan/Documents/projects/Extractor/.venv/lib/python3.8/site-packages/mixer/main.py", line 583, in get_typemixer
return self.type_mixer_cls(
File "/Users/kketan/Documents/projects/Extractor/.venv/lib/python3.8/site-packages/mixer/main.py", line 47, in __call__
cls_type = cls.__load_cls(cls_type)
File "/Users/kketan/Documents/projects/Extractor/.venv/lib/python3.8/site-packages/mixer/backend/django.py", line 137, in __load_cls
app_label, model_name = cls_type.split(".")
ValueError: too many values to unpack (expected 2)
我是否以正确的方式嘲笑模型?如果是,这个错误是否已知?如果没有,你能建议更好的方法吗?
【问题讨论】:
标签: python django pytest pytest-django django-mixer