1

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

次のバージョンを使用しています。

  • プラットフォーム Linux
  • パイソン 2.7.11
  • pytest-3.3.1
  • py-1.5.2
  • pluggy-0.6.0
  • ジャンゴ-2.9.2

そして、次のエラーが表示されます。

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.0pluggy-0.3.1、コードは問題なく実行されます。私の質問はこれです、何が起こっているのですか?何が原因でしょうか?

pytest が を呼び出しているが、 which を呼び出してtest_that_client_existsいないかのようです。__call___pre_setup

誰もこのようなものを見たことがありますか?

4

1 に答える 1