RSpec & Capybara kullanarak BDD uygulanan bir Rails uygulaması yazıyorum. Testlerimden biri başarısız olmaya devam ediyor. Testin amacı, indeks sayfasında görüntülenen her bir Makine kaydının, düzenleme linkini tıklatarak, detay düzenleme sayfasını görselleştirerek sonuçlanıp sonuçlanmadığını kontrol etmektir. Uygulamamı çalıştırdığımda, bu işlevsellik çalışır. Sanırım, RSpec senaryomda bir sorun var. !RSpec/Capybara "bekliyor (sayfa) .to have_content" içerik sayfa.html içinde test başarısız olur.
RSpec.feature 'existing machines' do
before do
@john = User.create!(email: '[email protected]', password: 'password')
login_as @john
brand = Brand.create!(name: 'TORO')
machinegroup = Machinegroup.create!(name: 'GAZON')
machinetype = Machinetype.create!(name: 'ZITMAAIER', machinegroup_id: machinegroup.id)
@existing_machine = Machine.create!(brand_id: brand.id, model: 'RX22', machinetype_id: machinetype.id, description: 'fantastic machine', engine: '100PK')
end
scenario 'have a link to an edit form' do
visit '/machines'
find("a[href='/machines/#{@existing_machine.id}/edit']").click
expect(page).to have_content('Machine details')
expect(page).to have_content(@existing_machine.model)
end
end
senaryoyu ayıklama, @existing_machine nesne doğru .create aracılığıyla doldurulur görünüyor() yöntemi: İşte testin kod
Failures:
1) existing machines have a link to an edit form
Failure/Error: expect(page).to have_content(@existing_machine.model)
expected to find text "RX22" in "Toggle navigation uXbridge Catalogue Settings Brands Machine Types Machine Groups Repair States Titles User Signed in as [email protected] Sign out Machine details Brand TORO Model Machine type ZITMAAIER Description Engine Purchase Price Unit Price VAT Minimal Stock Current Stock Warehouse Location"
# ./spec/features/machine_spec.rb:50:in `block (2 levels) in <top (required)>'
: Burada
başarısız testi var daha önce engellemek. ayıklayıcısında page.html teftiş yaparken
screenshot of debug window in IDE
, ben "RX22" dizesi görünen görüyorsunuz. beklemek (sayfa) çalıştırırken
screenshot of page.html inspection
Peki neden RSpec/Capybara .to have_content (@ existing_machine.model) aynı içeriği görmüyor?
sayesinde çok çalışmalı! işe yarıyor! öğrenmek için eğlenceli. – lbaeyens