我被分配了编写一些测试的任务,以验证某些日志行出现在最终的日志内容中。有一个正则表达式,例如:
PreAuthClientResponse\(responseRawData=\{"result":".+"\}, advice=.+, scoring=.+\)
它可以在本地环境中使用。
当我推送到Gitlab时,管道运行并失败。我在--info
的{{1}}之后添加了gradlew test
,使其更加冗长,我看到了:
.gitlab-ci.yml
请注意,{ 'host': 'runner-8cedea08-project-721-concurrent-0', 'message': 'Client response: PreAuthClientResponse(responseRawData={'result':'No Fraud'}, advice=No Fraud, scoring=null), merchant reference: ABC123456, transaction id: ada9401e-4098-4509-81cd-11993bdf7557 ', 'timestamp': '2019-06-18T13:44:56.002Z', 'service': 'xxxxx', 'env': 'ci', 'severity': 'INFO', 'trace': '', 'span': '', 'thread': 'Test worker', 'class': 'c.v.f.preauth.service.PreAuthService' }
用单引号引起来,并且只能在管道中使用,因为本地测试通过的是双引号的正则表达式。
我将正则表达式更改为不太具体,以跳过此错误。但是gitlab CI对于JSON文字有不同的格式吗?我认为JSON文字中的单引号无效。