λ£¨λΉ λ²μ : 2.6.6
λ μΌμ¦ λ²μ : 6.1.0-rc2
RSpec λ²μ : 4.1.0.pre(6-1-dev λΆκΈ°)
rspecμ μ€ννλ©΄ μ€λ₯κ° λ°μν©λλ€.
NoMethodError:
undefined method `assert_nothing_raised' for #<RSpec::ExampleGroups::Test "fails" (./spec/test_spec.rb:5)>
"μ μλμ§ μμ λ©μλ" μ€λ₯κ° λ°μνμ§ μμμΌ ν©λλ€. Rails 6.0.3.4κΉμ§ μλνμ΅λλ€.
μ μ±μ λ§λ€κ³ λ€μμ Gemfileμ μΆκ°ν©λλ€.
%w[rspec rspec-core rspec-expectations rspec-mocks rspec-support].each do |lib|
gem lib, git: "https://github.com/rspec/#{lib}.git", branch: "main"
end
git "https://github.com/rspec/rspec-rails", branch: "rails-6-1-dev" do
gem "rspec-rails"
end
μ€μΉ:
bundle install
rails generate rspec:install
ν μ€νΈ μΆκ°:
# rspec/test_spec.rb
# frozen_string_literal: true
require "rails_helper"
RSpec.describe "test" do
it "fails" do
assert_nothing_raised()
end
end
ν μ€νΈλ₯Ό μ€νν©λλ€.
bundle exec rspec spec/test_spec.rb
https://relishapp.com/rspec/rspec-expectations/v/3-9/docs/built-in-matchers/raise-error-matcher λ₯Ό μ¬μ©νμ§ μμ μ΄μ κ°
expect { raise "oops" }.to raise_error
ActiveJob::TestHelpers
λ₯Ό μ¬μ©νλ©΄ μλμμ ν΄λΉ λ°©λ²μ μ¬μ©νκΈ° λλ¬Έμ λμΌν λ¬Έμ κ° μμ΅λλ€.
RSpec.describe do
include ActiveJob::TestHelper
it 'works' do
perform_enqueued_jobs do
SomeService.doSomething
end
end
end
NoMethodError:
undefined method `assert_nothing_raised' for #<RSpec::ExampleGroups::xxxx:0x0000559e7b2a3018>
Did you mean? assert_raises
# .../gems/rspec-expectations-3.10.0/lib/rspec/matchers.rb:965:in `method_missing'
# .../gems/rspec-core-3.10.0/lib/rspec/core/example_group.rb:764:in `method_missing'
# .../gems/activejob-6.1.0.rc2/lib/active_job/test_helper.rb:591:in `perform_enqueued_jobs'
ν΄λΉ κΈ°λ₯μ 볡μ νλ κ°μ₯ μ’μ λ°©λ²μ 무μμ λκΉ?
νΈμ§νλ€
νμ¬ ν΄κ²° λ°©λ²:
RSpec.configure do |config|
def assert_nothing_raised(&block)
expect(&block).to_not raise_error
end
end
μ μλ λͺ¨λμ΄ μ΄λν κ²μ²λΌ λ€λ¦¬λ©° λ€μν λμ°λ―Έλ₯Ό μ§μνκΈ° μν΄ κ°μ Έμ¨ λ§μ μ΄μ€μ λͺ¨λμ΄ μμ΅λλ€.
λ©μλ μ μλ ActiveSupport::Testing::Assertions μ μμ΅λλ€.
λ°λΌμ λ€μκ³Ό κ°μ΄ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μλ μμ΅λλ€.
RSpec.configure do |config|
config.include ActiveSupport::Testing::Assertions
end
@benoittgt 6.1μμ μ΄κ²μ κ³ μΉ μ μλ€κ³ μκ°νμλκΉ?
κ°μ₯ μ μ©ν λκΈ
λ©μλ μ μλ ActiveSupport::Testing::Assertions μ μμ΅λλ€.
λ°λΌμ λ€μκ³Ό κ°μ΄ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μλ μμ΅λλ€.