- Pytest - Discussion
- Pytest - Useful Resources
- Pytest - Quick Guide
- Pytest - Conclusion
- Pytest - Summary
- Test Execution Results in XML
- Pytest - Run Tests in Parallel
- Stop Test Suite after N Test Failures
- Pytest - Xfail/Skip Tests
- Pytest - Parameterizing Tests
- Pytest - Conftest.py
- Pytest - Fixtures
- Pytest - Grouping the Tests
- Substring Matching of Test Names
- Execute a Subset of Test Suite
- Pytest - File Execution
- Pytest - Starting With Basic Test
- Identifying Test files and Functions
- Pytest - Environment Setup
- Pytest - Introduction
- Pytest - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Pytest - Starting With Basic Test
Now, we will start with our first pytest program. We will first create a directory and thereby, create our test files in the directory.
Let us follow the steps shown below −
Create a new directory named automation and navigate into the directory in your command pne.
Create a file named test_square.py and add the below code to that file.
import math def test_sqrt(): num = 25 assert math.sqrt(num) == 5 def testsquare(): num = 7 assert 7*7 == 40 def tesequapty(): assert 10 == 11
Run the test using the following command −
pytest
The above command will generate the following output −
test_square.py .F ============================================== FAILURES ============================================== ______________________________________________ testsquare _____________________________________________ def testsquare(): num=7 > assert 7*7 == 40 E assert (7 * 7) == 40 test_square.py:9: AssertionError ================================= 1 failed, 1 passed in 0.06 seconds =================================
See the first pne of the result. It displays the file name and the results. F represents a test failure and dot(.) represents a test success.
Below that, we can see the details of the failed tests. It will show at which statement the test has failed. In our example, 7*7 is compared for equapty against 40, which is wrong. In the end, we can see test execution summary, 1 failed and 1 passed.
The function tesequapty is not executed because pytest will not consider it as a test since its name is not of the format test*.
Now, execute the below command and see the result again −
pytest -v
-v increases the verbosity.
test_square.py::test_sqrt PASSED test_square.py::testsquare FAILED ============================================== FAILURES ============================================== _____________________________________________ testsquare _____________________________________________ def testsquare(): num = 7 > assert 7*7 == 40 E assert (7 * 7) == 40 test_square.py:9: AssertionError ================================= 1 failed, 1 passed in 0.04 seconds =================================
Now the result is more explanatory about the test that failed and the test that passed.
Note − pytest command will execute all the files of format test_* or *_test in the current directory and subdirectories.
Advertisements