在Autodesk Maya等Python环境中使用Nose运行单元测试?

Sov*_*iut 6 python environment unit-testing nose maya

我想开始为我的Maya脚本创建单元测试.这些脚本必须在Maya环境中运行,并依赖于maya.cmds模块命名空间.

如何从运行环境(如Maya)中运行Nose测试?

Moe*_*Moe 15

使用maya安装中包含的mayapy可执行文件而不是标准的python可执行文件.

为了完成这项工作,您需要以编程方式运行nose.创建一个名为python的文件runtests.py并将其放在测试文件旁边.在其中,包括以下代码:

import os
os.environ['PYTHONPATH'] = '/path/to/site-packages'

import nose
nose.run()
Run Code Online (Sandbox Code Playgroud)

由于mayapy加载了自己的pythonpath,因此它不知道nose所在的site-packages目录.os.environ用于在脚本中手动设置它.您也可以选择将其设置为系统环境变量.

从命令行使用mayapy应用程序来运行runtests.py脚本:

/path/to/mayapy.exe runtests.py

您可能需要导入,maya.standalone具体取决于您的测试.

import maya.standalone
maya.standalone.initialize(name='python')
Run Code Online (Sandbox Code Playgroud)