从 Docker 导出 RSpec 测试
Exporting RSpec tests from Docker
我正在使用 Docker 测试 运行 我的 ruby rails Rspec 测试。这将使我能够更灵活地针对不同的数据库等进行测试。
在我们的 Bamboo 管道中,一切正常 - 除了我假设 rspec.xml 文件被放置在 docker 容器内,而不是 Bamboo 工作目录中。如果任何测试失败 - bamboo 作业失败并且测试数量现在在 bamboo 中报告为 not 我认为这是因为 'missing' rspec.xml 文件。
我们有一个 JUnit XML 解析器任务现在也失败了,因为它找不到 XML 输出,而且 docker 容器在测试结束时被删除了我假设文件也将被删除。
是否可以将此文件输出到 Bamboo 工作目录?
运行 规格如下:
docker run --volume /home/bamboo/bamboo-agent-home/xml-data/build-dir/DIR-ABS2711-UTJGB:/usr/src/app --rm --env RAILS_ENV=test bond:latest bundle exec rake db:migrate rspec_tests:model_tests:run
请注意,我正在使用 rake
任务来 运行 规格。
谢谢
所以为了 rspec 在 xml 中输出结果,你需要这样的东西:
rspec -r rspec_junit_formatter --format RspecJunitFormatter -o rspec.xml
但是由于我使用的是 rake 任务,所以我不能使用它,而是需要将我的 rake 任务修改为 xml:
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |t|
t.fail_on_error = false
t.rspec_opts = "--no-drb -r rspec_junit_formatter --format RspecJunitFormatter -o rspec.xml"
end
我正在使用 Docker 测试 运行 我的 ruby rails Rspec 测试。这将使我能够更灵活地针对不同的数据库等进行测试。
在我们的 Bamboo 管道中,一切正常 - 除了我假设 rspec.xml 文件被放置在 docker 容器内,而不是 Bamboo 工作目录中。如果任何测试失败 - bamboo 作业失败并且测试数量现在在 bamboo 中报告为 not 我认为这是因为 'missing' rspec.xml 文件。
我们有一个 JUnit XML 解析器任务现在也失败了,因为它找不到 XML 输出,而且 docker 容器在测试结束时被删除了我假设文件也将被删除。
是否可以将此文件输出到 Bamboo 工作目录?
运行 规格如下:
docker run --volume /home/bamboo/bamboo-agent-home/xml-data/build-dir/DIR-ABS2711-UTJGB:/usr/src/app --rm --env RAILS_ENV=test bond:latest bundle exec rake db:migrate rspec_tests:model_tests:run
请注意,我正在使用 rake
任务来 运行 规格。
谢谢
所以为了 rspec 在 xml 中输出结果,你需要这样的东西:
rspec -r rspec_junit_formatter --format RspecJunitFormatter -o rspec.xml
但是由于我使用的是 rake 任务,所以我不能使用它,而是需要将我的 rake 任务修改为 xml:
require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) do |t|
t.fail_on_error = false
t.rspec_opts = "--no-drb -r rspec_junit_formatter --format RspecJunitFormatter -o rspec.xml"
end