Запускать модульные тесты с Nose в среде Python, такой как Autodesk Maya?
-
11-07-2019 - |
Вопрос
Я хотел бы начать создавать модульные тесты для моих скриптов Maya. Эти сценарии должны выполняться в среде Maya и полагаться на пространство имен модуля maya.cmds
.
Как я могу запустить тесты Nose из работающей среды, такой как Maya?
Решение
Используйте исполняемый файл mayapy, включенный в вашу установку maya, вместо стандартного исполняемого файла python.
Для этой работы вам нужно запустить нос программно. Создайте файл python с именем runtests.py
и поместите его рядом с тестовыми файлами. В него включите следующий код:
import os
os.environ['PYTHONPATH'] = '/path/to/site-packages'
import nose
nose.run()
Поскольку mayapy загружает свой собственный pythonpath, он не знает о каталоге site-packages, где находится nose. os.environ используется для установки этого вручную в скрипте. При желании вы также можете установить это как системную переменную среды.
Из командной строки используйте приложение mayapy для запуска сценария runtests.py
:
/path/to/mayapy.exe runtests.py
Вам может потребоваться импортировать maya.standalone
в зависимости от того, что делают ваши тесты.
import maya.standalone
maya.standalone.initialize(name='python')