Как запустить автоматические тесты с pytest для пакета с классами? - PullRequest
0 голосов
/ 08 июля 2019

Я новичок в использовании pytest и в целом в работе с автоматизированными тестами, и я хочу знать лучшие практики для запуска автоматических тестов в пакете python, который содержит классы.У меня есть пакет p, который содержит классы A, B и C.У меня есть один файл, test_p, который содержит четыре функции тестирования.Чтобы протестировать эти функции, мне нужно импортировать A, B и C.В настоящее время я делаю это с помощью файла __init__.py в моем репозитории p, который содержит следующие строки:

from p.A import A
from p.B import B
from p.C import C

Затем в каталоге, содержащем каталог p,Я запускаю python и запускаю команды:

from p import *
import pytest

, затем перемещаюсь внутри p, и в пределах запуска python:

pytest.main([`test_p`])

Эта процедура для тестирования моего пакета не кажется оптимальнойдля меня, и я уверен, что есть лучший способ сделать это.В идеале я хотел бы иметь возможность просто запустить скрипт в терминале ОС и / или в терминале python, который запускает test_p, и этот скрипт существует в каталоге p.Проблема в том, что я не могу импортировать A, B и C из самого p.Есть ли способ запустить скрипт, который будет запускать test_p (или просто запускать test_p напрямую) без необходимости перемещаться между каталогами?

1 Ответ

0 голосов
/ 09 июля 2019

Я нашел простое решение: добавьте строку from p import * в файл test_p, а в родительском каталоге p запустите следующие две строки кода на python:

import pytest
pytest.main(['p/test_p'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...