作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 中使用 pytest 固定装置TestCase
方法?类似问题的几个答案似乎暗示我的例子应该有效:
import pytest
from django.test import TestCase
from myapp.models import Category
pytestmark = pytest.mark.django_db
@pytest.fixture
def category():
return Category.objects.create()
class MyappTests(TestCase):
def test1(self, category):
assert isinstance(category, Category)
但这总是会导致错误:
TypeError: test1() missing 1 required positional argument: 'category'
我意识到我可以将这个简单的例子转换成一个函数,它会起作用。我更喜欢使用 django 的
TestCase
因为它支持导入传统的“django fixture”文件,这是我的几个测试所需要的。将我的测试转换为函数需要重新实现这个逻辑,因为没有记录的方式使用 pytest(或 pytest-django)导入“django 固定装置”。
Django==3.1.2
pytest==6.1.1
pytest-django==4.1.0
最佳答案
我发现使用“usefixtures”方法更容易。它没有向函数显示神奇的第二个参数,并且它明确地标记了具有固定装置的类。
@pytest.mark.usefixtures("category")
class CategoryTest(TestCase):
def test1(self):
assert Category.objects.count() == 1
关于python - 如何在 django TestCase 中使用 pytest 固定装置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64528957/
我是一名优秀的程序员,十分优秀!