Pytest file execution

Pytest File Execution

In this chapter, we will learn how to execute single and multiple test files. We have created a test file, test_square.py. Create a new test file, test_compare.py, with the following code:

def test_greater():
num = 100
assert num > 100

def test_greater_equal():
num = 100
assert num >= 100

def test_less():
num = 100
assert num < 200

Now, to run all the tests in all the files (there are two in this case), we need to run the following command

pytest -v

<p>The above command will run the tests in test_square.py and test_compare.py. The output will be generated as follows –

<pre><code class="language-python line-numbers">test_compare.py::test_greater FAILED
test_compare.py::test_greater_equal PASSED
test_compare.py::test_less PASSED
test_square.py::test_sqrt PASSED
test_square.py::testsquare FAILED
================================================= FAILURES 
====================================================
______________________________________________ test_greater 
______________________________________________
def test_greater():
num = 100
> assert num > 100
E assert 100 > 100

test_compare.py:3: AssertionError
____________________________________________ testsquare
____________________________________________
   def testsquare():
   num = 7
> assert 7*7 == 40
E assert (7 * 7) == 40

test_square.py:9: AssertionError
=================================== 2 failed, 3 passed in 0.07 seconds
===================================

To execute the tests from a specific file, use the following syntax −

pytest <filename> -v

Now, run the following command –

pytest test_compare.py -v

The above command will only execute the tests in the file test_compare.py. Our result will be —

test_compare.py::test_greater FAILED
test_compare.py::test_greater_equal PASSED
test_compare.py::test_less PASSED
============================================== FAILURES
==============================================
______________________________________________ test_greater
____________________________________________
   def test_greater():
   num = 100
> assert num > 100
E assert 100 > 100
test_compare.py:3: AssertionError
================================= 1 failed, 2 passed in 0.04 seconds
=================================

Leave a Reply

Your email address will not be published. Required fields are marked *