我将自动化的protractor
测试设置为在docker
容器中运行,借助jenkins
。但是,无法使jenkins
构建结果反映测试结果(如果某些测试失败,构建也将失败)。
重要的是要说所有测试都应该运行,即使第一个测试失败。
测试是用docker-compose up --abort-on-container-exit
启动的,我的Docker-Compose文件看起来像:
version: '2'
services:
selenium:
image: selenium/standalone-chrome
ports:
- 4444:4444
volumes:
- /dev/shm:/dev/shm
protractor:
volumes:
- ./reporting:/assets/reporting
image: protractor-test
command: "dockerize -wait http://selenium:4444 -timeout 60m protractor /assets/conf.js"
看起来您的docker-compose命令正在返回出口代码0,无论如何。
使用Jasmine Xunit Reporter生成测试报告,将生成的XML测试报告复制到容器外部(使用docker cp
),然后使用Jenkins的后构建行动将其发布?
如果不存在XML,该作业将被标记为失败,这意味着在测试运行时有错误,或者如果未能通过任何测试断言,则将其标记为不稳定。