В документации по протоколу pytest указано, что py.test file_name
является стандартным способом запуска тестовых примеров pytest. Но я развиваюсь в Emacs с помощью скрипта Python на левой панели и интерпретатора Python на правой панели.Выполнение тестовых примеров pytest из тестового сценария
Мой рабочий является то, что я внести изменения в сценарий Python, CTRL-C C его (так что обновленные изменения отправляются в РЕПЛ) и перейти к РЕПЛ (CTRL-O), таким образом протестировать обновленный код. Было бы неплохо, если бы я мог внести изменения в свой тестовый пример слева, перейти на правый экран REPL и выполнить обновленный тестовый пример.
Есть ли способ запуска тестовых ящиков pytest из REPL или внутри скрипта, в отличие от нереста оболочки и выполнения команды pytest?
EDIT: Как и в сторону, я попробовать использовать функцию main
из pytest и назвав его в сценарии, но по какой-то смешной причине, изменения не забирается, если я не убить старый REPL и начать новую , Это не происходит с другим скриптом Python, поэтому я уверен, что это связано с pytest. Вот код:
def test_add():
assert myadd(1, 2) == 3
if __name__ == '__main__':
pytest.main()
Я считаю pytest.main() не испытывать то, что у вас есть внутри РЕПЛ, потому что он запускает регулярное py.test бегуна, который пытается загрузить тесты из ожидаемых тестов папке и в соответствии с любыми соглашениями об именах –
@ Conrad.Dean: Я думаю, что речь идет не о REPL. У меня создалось впечатление, что pytest заберет последний код для моего скрипта перед запуском теста. Но кажется, что тестовый код после загрузки никогда не перезагружается независимо от изменений, внесенных в тестовый скрипт. Действительно странно ... – sasuke