document new class instance per test
This commit is contained in:
parent
4a1557fa0e
commit
bad7a0207f
|
@ -153,6 +153,55 @@ Once you develop multiple tests, you may want to group them into a class. pytest
|
|||
|
||||
The first test passed and the second failed. You can easily see the intermediate values in the assertion to help you understand the reason for the failure.
|
||||
|
||||
Some reasons why grouping tests in a class can be useful is:
|
||||
|
||||
* Structural or organizational reasons
|
||||
* Sharing fixtures for tests only in that particular class
|
||||
* Applying marks at the class level and having them implicitly apply to all tests
|
||||
|
||||
Something to be aware of when grouping tests inside classes is that each test does not have the same instance of the class.
|
||||
Having each test share the same class instance would be very detrimental to test isolation and would promote poor test practices.
|
||||
This is outlined below:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
class TestClassDemoInstance:
|
||||
def test_one(self):
|
||||
assert 0
|
||||
|
||||
def test_two(self):
|
||||
assert 0
|
||||
|
||||
|
||||
.. code-block:: pytest
|
||||
|
||||
$ pytest -k TestClassDemoInstance -q
|
||||
|
||||
FF [100%]
|
||||
============================================================================================================== FAILURES ===============================================================================================================
|
||||
___________________________________________________________________________________________________ TestClassDemoInstance.test_one ____________________________________________________________________________________________________
|
||||
|
||||
self = <test_example.TestClassDemoInstance object at 0x000001F001A24EB8>, request = <FixtureRequest for <Function test_one>>
|
||||
|
||||
def test_one(self, request):
|
||||
> assert 0
|
||||
E assert 0
|
||||
|
||||
testing\test_example.py:4: AssertionError
|
||||
___________________________________________________________________________________________________ TestClassDemoInstance.test_two ____________________________________________________________________________________________________
|
||||
|
||||
self = <test_example.TestClassDemoInstance object at 0x000001F001A54908>, request = <FixtureRequest for <Function test_two>>
|
||||
|
||||
def test_two(self, request):
|
||||
> assert 0
|
||||
E assert 0
|
||||
|
||||
testing\test_example.py:7: AssertionError
|
||||
======================================================================================================= short test summary info =======================================================================================================
|
||||
FAILED testing/test_example.py::TestClassDemoInstance::test_one - assert 0
|
||||
FAILED testing/test_example.py::TestClassDemoInstance::test_two - assert 0
|
||||
2 failed in 0.17s
|
||||
|
||||
Request a unique temporary directory for functional tests
|
||||
--------------------------------------------------------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue