作为持续集成设置的一部分,从命令行运行SpecRun,最近忽略的(@ignore)测试在SpecRun完成时生成退出代码120。
目前,我们在任何不等于0(通用成功指示器!)的退出代码上中断构建。
退出代码120到底是什么意思?是不是简单地说“一个测试被忽略了”?或者这意味着更多?
还会返回哪些值?
下面是示例构建输出。我们收集所有的退出代码(目前是1个SpecRun任务,所以只收集了1个退出代码),并打印出“退出代码”。
58> Done.
58> Result: all tests passed (5 ignored)
58> Total: 478
58> Succeeded: 473
58> Ignored: 5
58> Pending: 0
58> Skipped: 0
58> Failed: 0
58>
58> Execution Time: 00:00:42.4550000
58>
58> exit codes 120
58>
58>Build FAILED.
58>
58>Time Elapsed 00:00:44.21
========== Rebuild All: 57 succeeded, 1 failed, 0 skipped ==========发布于 2013-04-18 06:02:51
我在论坛上找到了错误代码列表:https://groups.google.com/forum/?fromgroups=#!topic/specrun/vPQ7z2kpkbs
按照错误代码对列表进行排序后,您会得到以下结果:
Unknown = 0,
Succeeded = 110,
Ignored = 120,
Pending = 210
NothingToRun = 310,
Skipped = 320,
Inconclusive = 410,
CleanupFailed = 420,
RandomlyFailed = 430,
Failed = 440,
InitializationFailed = 450,
FrameworkError = 510,
ConfigurationError = 520,根据这个列表,我们在构建服务器上使用以下命令行脚本来执行测试:
SpecRun.exe [...]
if errorlevel 200 exit /b %errorlevel%
exit /b 0我们使用exit命令返回错误代码。对于较高错误级别的代码(>= 200),我们返回错误代码以中断构建。但是,低于该限制的错误代码将被视为成功,并返回0。
使用此限制(200),成功和忽略的案例被视为成功,其他所有情况都会中断构建。如果您还想允许挂起的测试(210),您可以简单地在IF中检查更高的错误代码。
https://stackoverflow.com/questions/15845018
复制相似问题