Подтвердить что ты не робот

Существует ли соглашение, позволяющее отличать тесты интеграции Python от модульных тестов?

Наиболее распространенным способом структурирования пакета Python с модульными тестами является следующее:

package/
    __init__.py
    module_1.py
    module_2.py
    module_n.py
    test/
        __init__.py
        test_module_1.py
        test_module_2.py
        test_module_n.py

Я хотел бы провести различие между модульными тестами (методов и функций) и интеграционными тестами (с использованием всего пакета и, возможно, с привлечением других ресурсов). Возможно, эти тесты должны быть в разных пакетах, иметь разные имена файлов и/или включать определенные комментарии в docstring.

Существует ли стандартное соглашение для этого?

4b9b3361

Ответ 1

В нашем проекте у нас есть модульные тесты внутри каждого пакета, как и ваш случай, и тесты интеграции, системные тесты, как отдельный пакет на верхнем уровне, например:

package_1/
  __init__.py
  module_1.py
  module_n.py
  test/
    __init__.py
    test_module_1.py
    test_module_n.py
package_n/
  __init__.py
  module_1.py
  module_n.py
  test/
    __init__.py
    test_module_1.py
    test_module_n.py
systemtest/
  __init__.py
  systemtest_1.py
  systemtest_n.py

Я бы использовал это соглашение, даже если у вас есть только один пакет в проекте. Однако я не уверен, является ли это стандартным соглашением или нет.