Search

Showing posts with label PyTest. Show all posts
Showing posts with label PyTest. Show all posts

14 June, 2021

Pytest: Answering all nagging questions.

Pytest has a lot to offer but discovering it's powers are a pain.
I won't be covering those solutions which are already clearly stated in the pytest docs.

Here are a few questions that we all face at some point and with possible answers.

Q. How to find the sequence of fixtures that have been called?


  `python -m pytest --setup-plan test_somefile.py`


This is one way to find out what are the fixtures used.

Q. My imports are not working even after adding __init__ files?

A. With pytest, you have to set the variable PYTHONPATH in order to run test with syntax:

`pytest tests`


If you want still want to run tests with the above step, them use this syntax:

`python -m pytest tests` 


Q. How do I run random tests (just by test name) ?

A. The easiest way to run random test is using 'Keyword Expressions'
    
     `python -m pytest  test/integration -k 'test_password or test_no_configuration' --collect-only`

Pending Questions:


Q. How to pass an argument to a fixture from inside the test. ?
Q. How to ignore a fixture for a test.?
Q. If used a fixture by force using use_fixture, what will be the sequence of fixtures.?
Q. How to Skip a test using fixture?
Q. How to have a setUp, teardown like structure in PyTest like in unittest ?
Q. How to have a SetUpClass to run before class and TearDownClass just like in unittest?
Q. How do I enable 'print' statements.?
Q. How do I control logs by levels.?