[Python] Test discovery failure when tests in different directories are called the same

Discussão em 'Python' iniciado por Stack, Julho 30, 2025.

  1. Stack

    Stack Membro Participativo

    Using py.test, two tests called the same in different directory causes py.test to fail. Why is that? How can I change this without renaming all the tests?

    To duplicate do:

    ; cd /var/tmp/my_test_module
    ; mkdir -p ook/test
    ; mkdir -p eek/test
    ; touch ook/test/test_proxy.py
    ; touch eek/test/test_proxy.py
    ; py.test
    ============================= test session starts ==============================
    platform linux2 -- Python 2.7.3 -- pytest-2.2.4
    collected 0 items / 1 errors

    ==================================== ERRORS ====================================
    ___________________ ERROR collecting ook/test/test_proxy.py ____________________
    import file mismatch:
    imported module 'test_proxy' has this __file__ attribute:
    /home/ygolanski/code/junk/python/mymodule/eek/test/test_proxy.py
    which is not the same as the test file we want to collect:
    /home/ygolanski/code/junk/python/mymodule/ook/test/test_proxy.py
    HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules
    =========================== 1 error in 0.01 seconds ============================

    Continue reading...

Compartilhe esta Página