RSpec dan Cucumber keduanya merupakan kerangka kerja pengujian. RSpec mencakup Pengujian Unit tradisional (yang berarti menguji kelas atau bagian aplikasi secara terpisah dari aplikasi lainnya. Jadi, model Anda melakukan apa yang seharusnya dilakukan model Anda, pengontrol melakukan apa yang seharusnya dilakukan, dll).
RSpec dan Ketimun keduanya digunakan untuk Pengujian Penerimaan (Yang disebut ATDD, BDD, Spesifikasi dengan Contoh, dll tergantung siapa yang Anda tanyakan). Ini adalah Tes Integrasi berbasis kasus bisnis, yang berarti mereka mensimulasikan cara pengguna menggunakan aplikasi dan menggunakan tumpukan Rails lengkap sehingga masalah dengan cara berbagai bagian aplikasi Anda bekerja bersama dapat ditemukan dengan cara yang tidak akan dilakukan pengujian unit. Temukan.
Perbedaan utama antara RSpec dan Ketimun adalah faktor keterbacaan bisnis. Daya tarik utama timun adalah spesifikasi (fitur) terpisah dari kode pengujian, sehingga pemilik produk Anda dapat memberikan atau meninjau spesifikasi tanpa harus mempelajari kode. Ini adalah file .feature yang Anda buat di Mentimun. RSpec memiliki mekanisme yang serupa, tetapi Anda mendeskripsikan langkah dengan blok Describe, Context atau It yang berisi spesifikasi bisnis, lalu segera memiliki kode yang menjalankan pernyataan tersebut. Pendekatan ini sedikit lebih mudah bagi pengembang untuk dikerjakan tetapi sedikit lebih sulit untuk orang non-teknis.
Yang akan digunakan? Jika Anda adalah satu-satunya pengembang dan pemilik produk, maka saya akan tetap menggunakan RSpec, saya merasa lebih mudah bagi orang teknis untuk memahaminya, menawarkan beberapa keuntungan dalam menjaga segala sesuatunya tetap terkendali, dan menjauhkan Anda dari mengotak-atik RegEx untuk pengujian Langkah. Jika Anda membuat ini untuk klien, dan mereka sudah siap dengan spesifikasinya, gunakan Timun untuk Tes Penerimaan Anda dan gunakan RSpec untuk Tes Unit.
Hanya untuk mendemonstrasikan perbedaan utama antara keduanya:
Timun:
#articles.feature
Given an article exists called "Testing Demonstration"
When I visit the list of articles
Then I should see an article called "Testing Demonstration"
#article_steps.rb
Given /^an article exists called "(.+)"$/ do |title|
FactoryGirl.create(:article, title: title)
end
When /^I visit the list of articles$/ do
visit articles_path
end
Then /^I should see an article called "(.+)"$/ do |title|
page.should have_content title
end
Rspec
describe "Articles" do
let(:article) { FactoryGirl.create(:article) }
context "Index Page" do
before { visit articles_path }
it { page.should have_content article.title }
end
end
Ini blog seri sangat baik untuk mendapatkan pergi dengan RSpec.