gpt4 book ai didi

ruby-on-rails - 使用 Simplecov 使用现有 TestUnit 测试和覆盖率运行 RSpec

转载 作者:行者123 更新时间:2023-12-04 18:33:49 25 4
gpt4 key购买 nike

我是 ROR 的新手,想知道 Simplecov 是否为同一项目中的 TestUnit 和 RSpec 测试提供测试覆盖?

我正在将我们在 RSpec 中编写的一些测试从独立的 Web 应用程序迁移到当前使用 TestUnit 的现有 Web 应用程序。

我知道 RSpec 和 TestUnit 可以存在于同一个项目中,但我一直无法看到 Simplecov 将如何为这两个测试框架生成覆盖率。

当我在命令行 bundle exec rake spec 上运行时,我得到:
Coverage report generated for RSpec to /.../coverage. 0 / 0 LOC (0.0%) covered.
当我运行时 bundle exec rake test我生成了测试覆盖率。

计划是将所有内容从 TestUnit 迁移到 rspec,但是对于 400 多个测试,我们希望在迁移到 TestUnit 的同时让 Simplecov 涵盖 TestUnit 和 RSpec 测试。

我确定我的配置中一定有什么不正确的地方

任何帮助将非常感激!

我有以下设置:

--- Rakefile ---

require File.expand_path('../config/application', __FILE__)
require 'rake'
require 'simplecov'

if Rails.env == 'test' || Rails.env == 'development'
require 'ci/reporter/rake/test_unit'
require 'ci/reporter/rake/rspec'
end

SimpleCov.start 'rails' do
add_filter "/test/"
add_filter "/spec/"
end

-- 规范/spec_helper.rb --
ENV["RAILS_ENV"] ||= 'test'

require 'simplecov'
SimpleCov.start 'rails'

require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'

-- 测试/test_helper.rb --
require 'simplecov'
SimpleCov.start 'rails' do
add_filter "/vendor/"
end

ENV["RAILS_ENV"] = "test"

require File.expand_path('../../config/environment', __FILE__)

最佳答案

这不会直接回答您的问题,但如果有帮助,我有一个 bash 脚本可以为您完成从 TestUnit 移植到 RSpec 的大量工作。它在 https://github.com/Noreaster76/porter .您可以使用它来转换您的 TestUnit 文件,并且在稍微清理结果之后,您就不会遇到必须同时运行 RSpec 和 TestUnit 的问题。

关于ruby-on-rails - 使用 Simplecov 使用现有 TestUnit 测试和覆盖率运行 RSpec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243655/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com