这似乎是一个不用脑子,我几乎肯定这样的东西必须存在。我只是不知道在哪里找到它。另一方面,也许有技术原因这是不可能的,我只是没有看到它们。
但基本上,在我看来,如果给定特定的单元测试,可以(在Jenkins之类的CI服务器的帮助下)查看影响红色的提交历史,这将非常有用。 /有问题的测试的绿色状态。所以,说我希望看到单位文字X的这样一段历史;我可能会看到这样的历史:
Revision | Date | Test X Status
-------------------------------------
123 | 2011-03-20 | Failed
120 | 2011-03-19 | Passed
119 | 2011-03-19 | Failed
112 | 2011-03-16 | Passed
111 | 2011-03-16 | Pending
希望这是有道理的:我所看到的基本上是一个过滤的提交列表 - 只有那些对所讨论的特定单元测试(X)的结果有影响的那些。
是否存在这样的工具(任何地方 -so,作为独立工具,作为某些协作软件的组件,作为Eclipse,Visual Studio等的插件)?
答案 0 :(得分:1)
“使用 REST ,Luke。”
这个快速而又脏的Bash脚本适用于Bamboo,我使用Spring Framework CI server REST API对其进行了测试:
echo "Revision Date Test X Status"
echo "-------------------------------------------------------------"
url=https://build.springsource.org/rest/api/latest/result
for buildNumber in {1000..980}
do
curl -qs ${url}/SPR-TRUNKSNAPSHOT-${buildNumber} \
| sed 's/^.*state="\(.*\)" key.*buildCompletedTime.\(.*\)..buildCompletedTime.*vcsRevisionKey.\(.*\)..vcsRevisionKey.*$/\3\t\t\2\t\1/'
echo
done
最丑陋的部分是使用sed
解析XML(旁注:可惜Linux shell不提供XPath / XSLT内置命令行工具, c'mon ,它是二十一世纪!),但它有效:
Revision Date Test X Status
-------------------------------------------------------------
4086 2011-03-13T01:09:13.319-08:00 Successful
4083 2011-03-12T01:05:49.145-08:00 Successful
4081 2011-03-11T01:04:46.949-08:00 Successful
4074 2011-03-10T01:09:11.003-08:00 Successful
4069 2011-03-09T01:10:17.766-08:00 Successful
4069 2011-03-08T01:09:34.492-08:00 Successful
4069 2011-03-07T06:43:51.054-08:00 Successful
4068 2011-03-07T03:50:41.909-08:00 Failed
4068 2011-03-07T00:53:55.523-08:00 Failed
4060 2011-03-06T01:06:50.758-08:00 Failed
4060 2011-03-05T01:08:35.477-08:00 Successful
4057 2011-03-04T01:08:52.870-08:00 Successful
4056 2011-03-03T01:10:00.473-08:00 Successful
4056 2011-03-02T01:09:15.679-08:00 Successful
4055 2011-03-01T01:13:19.069-08:00 Successful
4051 2011-02-28T01:08:32.165-08:00 Successful
4050 2011-02-27T00:59:33.392-08:00 Successful
4050 2011-02-26T01:15:01.113-08:00 Successful
4036 2011-02-25T01:09:35.420-08:00 Successful
4032 2011-02-24T01:13:29.997-08:00 Successful
4030 2011-02-23T00:56:51.656-08:00 Failed
Jenkins也有REST支持,因此重写代码不应超过30分钟。