Запускать модульные тесты с Nose в среде Python, такой как Autodesk Maya?

StackOverflow https://stackoverflow.com/questions/639744

Вопрос

Я хотел бы начать создавать модульные тесты для моих скриптов 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')
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top