A execução de testes de unidade com o nariz dentro de um ambiente Python como o Autodesk Maya?
-
11-07-2019 - |
Pergunta
Eu gostaria de começar a criar testes de unidade para meus scripts Maya. Esses scripts devem ser executados dentro do ambiente Maya e confiar no namespace módulo maya.cmds
.
Como posso executar testes de nariz de dentro de um ambiente de funcionamento, tais como Maya?
Solução
Use o executável mayapy incluído no seu maya instalar em vez do executável de Python padrão.
Para este trabalho você vai precisar para executar nariz programaticamente. Crie um arquivo de python chamado runtests.py
e colocá-lo ao lado de seus arquivos de teste. Nele, incluem o seguinte código:
import os
os.environ['PYTHONPATH'] = '/path/to/site-packages'
import nose
nose.run()
Desde mayapy cargas seu próprio PYTHONPATH, ele não sabe sobre o diretório site-packages onde nariz é. os.environ é usado para definir isso manualmente dentro do script. Opcionalmente, você pode definir isso como uma variável de ambiente do sistema também.
A partir do uso de linha de comando do aplicativo mayapy para executar o script runtests.py
:
/path/to/mayapy.exe runtests.py
Você pode precisar importar o maya.standalone
dependendo do que seus testes fazer.
import maya.standalone
maya.standalone.initialize(name='python')