4

私は 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 の両方のテストをカバーしたいと考えています。

私の設定に何かが間違っているに違いないと確信しています

どんな助けでも大歓迎です!

私は次の設定をしています:

--- レーキファイル ---

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/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/test_helper.rb --

require 'simplecov'
SimpleCov.start 'rails' do
  add_filter "/vendor/"
end

ENV["RAILS_ENV"] = "test"

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

1 に答える 1

0

これはあなたの質問に直接答えるものではありませんが、役に立てば、TestUnit から RSpec に移植するための多くの作業を行う bash スクリプトがあります。https://github.com/Noreaster76/porterにあります。これを使用して TestUnit ファイルを変換できます。結果を少し整理すると、RSpec と TestUnit の両方を実行しなければならないという問題はなくなります。

于 2013-01-06T23:19:34.500 に答える