pytest exits with no error but with "collected 0 items"
Question: I have been trying to run unit tests using pytest in python. I had written a
module with one class and some methods inside that class. I wrote a unit test
for this module (with a simple assert statement to check equality of lists)
where I first instantiate the class with a list. Then I invoke a method on
that object (from the class). Both `test.py` and the script to be tested are
in the same folder. When I run `pytest` on it, I get "collected 0 items".

I am new to `pytest`, and but am able to run their examples successfully. What
am I missing here?

Running Python version 3.5.1 and pytest version 2.8.1 on Windows 7.

My test.py code:

    
    
    from sort_algos import Sorts
    
    def integer_sort_test():
        myobject1 = Sorts([-100,10,-10])
        assert myobject1.merge_sort() == [-101,-100,10]
    

sort_algos.py is a module containing class Sorts. merge_sort is a method under
Sorts.


Answer: `pytest` gathers tests according to a naming convention. By default any file
that is to contain tests must be named starting with `test_` and any function
in a file that should be treated as a test must also start with `test_`.

If you rename your test file to `test_sorts.py` and rename the example
function you provide above as `test_integer_sort`, then you will find it is
automatically collected and executed.

This test collecting behavior [can be
changed](https://pytest.org/latest/example/pythoncollection.html) to suit your
desires. Changing it will require learning about [configuration in
pytest](https://pytest.org/latest/customize.html).

