I am collecting test names and writing them to a text file with:
pytest --collect-only -quiet >list_of_tests.txt
One of my tests has a fixture that runs the test 67 times. When I collect my tests, I end up with 67 versions of this test appended with [reply_type0], [reply_type1], [reply_type2], …
Is there a way to collect tests while ignoring fixtures so I only get one test collected without the fixture appended to the end?
That is not really possible in
pytest, you should filter the collected test items by adding a custom
pytest plugin with a hook that modifies the items during the collection process.
Just create a
conftest.py file in your project directory with this inside:
def pytest_collection_modifyitems(config, items): filtered_items =  for item in items: test_name = item.nodeid.split('[') if test_name not in [filtered_item.nodeid for filtered_item in filtered_items]: filtered_items.append(item) items[:] = filtered_items