cla*_*tee 5 rspec code-coverage ruby-on-rails testunit
我是 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
Run Code Online (Sandbox Code Playgroud)
-- 规格/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'
Run Code Online (Sandbox Code Playgroud)
-- 测试/test_helper.rb --
require 'simplecov'
SimpleCov.start 'rails' do
add_filter "/vendor/"
end
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
Run Code Online (Sandbox Code Playgroud)
这并不能直接回答您的问题,但如果有帮助的话,我有一个 bash 脚本,可以为您完成从 TestUnit 移植到 RSpec 的大量工作。它位于https://github.com/Noreaster76/porter。您可以使用它来转换 TestUnit 文件,在稍微清理结果后,您就不会遇到必须同时运行 RSpec 和 TestUnit 的问题。
| 归档时间: |
|
| 查看次数: |
1673 次 |
| 最近记录: |