从Docker导出RSpec测试

问题描述 投票:1回答:1

我正在使用Docker进行测试以在Rails Rspec测试上运行我的红宝石。这将使我有更大的灵活性来针对不同的数据库等进行测试。

在我们的Bamboo管道中,它全部正常工作-除了我假设rspec.xml文件被放置在docker容器内,而不是在Bamboo工作目录中。如果任何测试失败-Bamboo作业失败,并且现在在Bamboo中报告了测试次数[[not,并且我认为是因为'缺少'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任务来运行规格。

谢谢

ruby-on-rails docker rspec
1个回答
0
投票
因此,为了使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

© www.soinside.com 2019 - 2024. All rights reserved.