我有一个非常简单的类,它在任何版本的pytest> 3.0.0上都失败了。当我使用--pdb
调用测试时。
from django.test import TestCase
class TestTestCase(TestCase):
"""Tests for the TestCase class."""
def test_that_client_exists(self):
"""Assert that the class has a client."""
assert self.client
我使用的是以下版本:
我收到以下错误:
self = <myproject.tests.test_test_case.TestTestCase testMethod=test_that_client_exists>
def test_that_client_exists(self):
"""Assert that the class has a client."""
> assert self.client
E AttributeError: 'TestTestCase' object has no attribute 'client'
但是,如果我降级到pytest==3.0.0
和pluggy-0.3.1
,代码会毫无问题地执行。我的问题是,这是怎么回事?可能导致这种情况的原因是什么?
好像pytest正在调用test_that_client_exists
,但没有调用调用__call__
的{{1}}。
有没有人见过这样的东西?
答案 0 :(得分:0)
如果我没记错的话,pytest不会像预期调用标准django测试那样设置类。
我会删除TestCase继承并手动添加到客户端。
from django.test import Client
class TestTestCase():
"""Tests for the TestCase class."""
client = Client()
def test_that_client_exists(self):
"""Assert that the class has a client."""
assert self.client