我想让scons用目录列表调用nosetests。什么是最好的方法来做到这一点?将鼻子测试称为scons任务。
1
A
回答
3
如果你需要分析外部应用程序的返回代码(如果你打电话测试,例如),您需要使用Command()+ python子流程模块。 如果您仅使用Command,则无法获取应用程序的返回代码。
例如:
if 'test' in COMMAND_LINE_TARGETS:
runTestsCmd = env.Command('runTests', None, Action(runTests, "Running tests"))
AlwaysBuild(runTestsCmd)
Alias('test', runTestsCmd)
runTests功能例如:
def runTests(target = None, source = None, env = None) :
# fill args
retCode = subprocess.call(args, env = env['ENV'], cwd = cwd, shell = True)
Exit(retCode)
此外,您还可以runTestsCmd设置额外的依赖。
Depends(runTestsCmd, [appAndLibsToBuild])
1
我不知道鼻子的框架,但也有执行与SCons的外部应用程序两种方式(还有其他的方式与Python做到这一点,但没有必要提及那些)如下:
我想你可能需要使用命令()选项ONL如果其中一个相关依赖项发生变化,则启动单元测试。
关于目录列表,那么你可以使用一些Python编程,就像这样:
dirs = ['dir1', 'dir2', 'dir3']
for dir in dirs:
cmd = 'theScriptToExecute $SOURCE $TARGET'
env.Command(target = 'whatever', source = dir, action = cmd)
相关问题
- 1. 鼻子测试生成器创建的测试更改名称
- 2. Python鼻子测试示例
- 3. 为不同的测试目标配置鼻子测试
- 4. scons和“测试任何协议”集成
- 5. 测试耙子任务
- 6. 用鼻子/夹具/ webtest(amidoinitrite)测试cherrypy
- 7. 运行生成的鼻子测试
- 8. 如何编写鼻子测试套件
- 9. Python的鼻子测试同时
- 10. 鼻子Django的用户设置测试
- 11. 列表测试名编程在鼻子
- 12. 鼻子测试 - 文件上传
- 13. 鼻子测试冻结在raw_input
- 14. 不能用鼻子测试运行测试
- 15. Python鼻子测试跳过某些测试
- 16. 限制鼻子测试范围仅限于运行的测试
- 17. 在Python中测试鼻子的测试用例
- 18. 用鼻子进行单元测试:在编译时测试?
- 19. 运行鼻子测试时导入错误,我无法在鼻子外重现
- 20. 将**设置信息传递给鼻子的单元测试
- 21. 将选项传递给Python测试脚本中的鼻子
- 22. 为什么python鼻子单元测试拆卸夹具失败
- 23. 用鼻子测试。为什么我会得到“ImportError:No module named bin.app”
- 24. 鼻子测试+类迭代器=奇怪的行为
- 25. Python鼻子测试继承:从子类加载单元测试装置
- 26. Python单元测试:鼻子失败时重试?
- 27. 测试Rake任务
- 28. 如何使用鼻子测试来运行Python脚本作为测试套件(一起运行一组测试)?
- 29. 蟒蛇鼻子,从文件中收集测试类,然后运行测试
- 30. 通过鼻子测试运行与多个实体组的事务的错误