我想让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. 如何停止在Django鼻子测试期间发射的任务?
- 7. 测试覆盖鼻子vs pytest
- 8. Python的鼻子测试同时
- 9. 无法安装鼻子测试框架
- 10. 鼻子Django的用户设置测试
- 11. 什么是鼻子测试套件?
- 12. 鼻子测试冻结在raw_input
- 13. Django鼻子如何写这个测试?
- 14. 鼻子测试 - 文件上传
- 15. 列表测试名编程在鼻子
- 16. Python单元测试:鼻子@with_setup失败
- 17. 用鼻子/夹具/ webtest(amidoinitrite)测试cherrypy
- 18. 鼻子运行测试两次
- 19. 如何编写鼻子测试套件
- 20. 鼻子:找到测试生成器
- 21. 运行生成的鼻子测试
- 22. 单元测试GAE Blobstore(带鼻子)
- 23. 不能用鼻子测试运行测试
- 24. 在Python中测试鼻子的测试用例
- 25. 用鼻子进行单元测试:在编译时测试?
- 26. Python鼻子测试跳过某些测试
- 27. 限制鼻子测试范围仅限于运行的测试
- 28. 运行鼻子测试时导入错误,我无法在鼻子外重现
- 29. 将选项传递给Python测试脚本中的鼻子
- 30. 将**设置信息传递给鼻子的单元测试