在自动化测试开始之前,我每天晚上都会从我的php脚本(在SuSE上)运行sudo svn --username radek update ".$codebase." --force";。所以测试是在今天签入的最新代码上完成的。
我如何确定svn up已成功完成?那么,如果不是,测试不会被触发吗?
发布于 2012-04-05 11:45:44
在命令行中,我通常运行svn status -q,如果所有内容都是最新的,它应该不会输出任何内容。否则,它要么会出错,要么会显示哪些文件尚未更新。
正如其他人所提到的,如果由于任何特定原因而失败,svn up应该返回一个非零值。
您应该考虑使用像Jenkins这样的持续构建系统。您可以让Jenkins在每次提交时运行测试,或者在一天中的特定时间自动运行测试。这样,你就不会重复发明轮子了。此外,Jenkins可以通过电子邮件发送测试结果,并给您一个展示它们的地方。
发布于 2012-04-05 12:18:57
如果出现任何故障(例如网络错误/磁盘错误),svn update应返回一个非零值
但是,另一个注意事项是合并冲突。svn update认为更新具有合并冲突的工作副本是“成功”的。
因此,运行svn status -q并查找状态为"C“的文件对您来说可能很重要,这取决于您的应用程序--我假设您希望在更新完成时发生冲突时采取不同的操作。
发布于 2012-04-05 09:23:57
使用svn命令的返回码(应该是零),或者检查std-output的最后一行。它应该是这样的:
At revision 123.请记住,您应该有正确的语言环境
https://stackoverflow.com/questions/10020901
复制相似问题