2016-07-22 4 views
0

私はminitest 5.8.4とrspec-rails 3.5.1を使用しています。 minitestを使用している現在のテストスイートがありますが、私はゆっくりとrspecに移行します。Rspec-railsのオーバーロードが記述され、既存のミニテストを破る

私は現在、次のように構成されている多くのテストを持っている:

class UserTest < ActiveSupport::TestCase 
    describe "a_method" do 
    it "should return the results" do 
     assert_a_thing 
    end 
    end 
end 

とすぐに私は私のGemfileにrspec-railsを含めると、describe方法は、その後、世界的にRSpecので取ら/過負荷になっていることが表示されますrake testを実行すると、これらのテストはすべてスキップされます。

test 'foo' {it 'works' {}}の構造にあるテストはスキップされません。

新しいRSpecテストとdescribeを使用している既存のミニテストが平和的に共存するように、どうすれば簡単にできますか?

答えて

1

これはrspec's monkey patchingのためだと思います。 spec_helperでサルのパッチを無効にしてください。

RSpec.configure do |c| 
    c.disable_monkey_patching! 
end 

その後、助けるように見えたが、今 `describe`がminitestに不明であることを、あなたのスペックに

RSpec.describe "whatever" do 
    # any describe, scenario, it blocks here don't need the RSpec. prefix 
end 
+0

を以下を持っている必要があります。 – tibbon

+0

rspecを削除すると 'describe'が' minitest-5.8.4/lib/minitest/spec.rb:71'で定義されています。私が猿のパッチを止めるとき(私が実際に 'test/test_helper.rb'の最上部に置いたもの)を止めようとしたら、記述は完全に定義されていません。Hmm – tibbon

+0

それは最小のレールが記述を削除しようとしていて、スーパークラスなどが呼び出されています – tibbon

関連する問題