Синтаксис expect(page).to have_content
является законным в соответствии с capybara docs, но это не похоже на работуожидать (страница) .то have_content не работает
Я добавил файл спецификаций и ошибку ниже
require 'spec_helper.rb'
feature "Looking up recipes", js: true do
before do
Recipe.create!(name: 'Baked Potato w/ Cheese')
Recipe.create!(name: 'Garlic Mashed Potatoes')
Recipe.create!(name: 'Potatoes Au Gratin')
Recipe.create!(name: 'Baked Brussel Sprouts')
end
scenario "finding recipes" do
visit '/'
fill_in "keywords", with: "baked"
click_on "Search"
expect(page).to have_content("Baked Potato")
expect(page).to have_content("Baked Brussel Sprouts")
end
end
Ошибка при выполнении спецификации:
[email protected]:~/rails_apps/receta$ rspec spec/features/search_spec.rb
F
Failures:
1) Looking up recipes finding recipes
Failure/Error: expect(page).to have_content("Baked Potato")
only the `receive` matcher is supported with `expect(...).to`, but you have provided: #<Capybara::RSpecMatchers::HaveText:0x000000057c0470>
# ./spec/features/search_spec.rb:15:in `block (2 levels) in <top (required)>'
Finished in 9.95 seconds
1 example, 1 failure
Failed examples:
rspec ./spec/features/search_spec.rb:10 # Looking up recipes finding recipes
Randomized with seed 31312
Эти версии различных Rspec драгоценных камней
- RSpec (2.99.0)
- RSpec-collection_matchers (1.1.2)
- RSpec сердечником (2.99.2)
- RSpec-ожидания (2.99.2)
- RSpec-Mocks (2.99.3)
- RSpec рельсы (2.99.0)
из водосвинки пробную является водосвинка (2.4.4)
Хм, сделал небольшое исследование и обнаружил, что 'ожидать' следует поддерживать начиная с версии 2.11 ([здесь] (https://github.com/rspec/rspec-expectations/blob/master/Should.md#unification -of-блок-и-значение-синтаксисы)). Начиная с версии v3 будет предупреждение об утомлении, и план состоит в том, чтобы отключить его по умолчанию в v4 ([здесь] (https://relishapp.com/rspec/rspec-expectations/docs/syntax-configuration)). Или я понял, что вы неправы? –