RSpec - Pendahuluan

RSpec adalah kerangka pengujian unit untuk bahasa pemrograman Ruby. RSpec berbeda dengan framework xUnit tradisional seperti JUnit karena RSpec adalah alat pengembangan yang digerakkan oleh Perilaku. Artinya, pengujian yang ditulis dalam RSpec berfokus pada "perilaku" aplikasi yang sedang diuji. RSpec tidak menitikberatkan pada, bagaimana aplikasi bekerja tetapi bagaimana ia berperilaku, dengan kata lain, apa yang sebenarnya dilakukan oleh aplikasi tersebut.

Lingkungan RSpec

Pertama-tama, Anda perlu menginstal Ruby di komputer Anda. Namun, jika Anda belum melakukannya sebelumnya, Anda dapat mengunduh dan menginstal Ruby dari situs web utama Ruby - Ruby .

Jika Anda menginstal Ruby di Windows, Anda harus memiliki installer Ruby untuk Windows di sini - http://www.rubyinstaller.org

Untuk tutorial ini, Anda hanya membutuhkan editor teks, seperti Notepad dan konsol baris perintah. Contoh di sini akan menggunakan cmd.exe di Windows.

Untuk menjalankan cmd.exe, cukup klik menu Start dan ketik “cmd.exe”, lalu tekan tombol Return.

Pada prompt perintah di jendela cmd.exe Anda, ketik perintah berikut untuk melihat versi Ruby yang Anda gunakan -

ruby -v

Anda harus melihat output di bawah ini yang terlihat seperti ini -

ruby 2.2.3p173 (2015-08-18 revision 51636) [x64-mingw32]

Contoh dalam tutorial ini akan menggunakan Ruby 2.2.3 tetapi semua versi Ruby yang lebih tinggi dari 2.0.0 sudah cukup. Selanjutnya, kita perlu menginstal permata RSpec untuk instalasi Ruby Anda. Permata adalah pustaka Ruby yang dapat Anda gunakan dalam kode Anda sendiri. Untuk memasang permata, Anda perlu menggunakangem perintah.

Mari instal permata Rspec sekarang. Kembali ke Jendela cmd.exe Anda dan ketik yang berikut ini -

gem install rspec

Anda harus memiliki daftar permata dependen yang diinstal, ini adalah permata yang dibutuhkan permata rspec agar berfungsi dengan benar. Di akhir keluaran, Anda akan melihat sesuatu yang terlihat seperti ini -

Done installing documentation for diff-lcs, rspec-support, rspec-mocks,
   rspec-expectations, rspec-core, rspec after 22 seconds 
6 gems installed

Jangan khawatir, jika keluaran Anda tidak terlihat sama persis. Selain itu, jika Anda menggunakan komputer Mac atau Linux, Anda mungkin perlu menjalankan keduanyagem install rspec perintah menggunakan sudo atau gunakan alat seperti HomeBrew atau RVM untuk memasang permata rspec.

Hello World

Untuk memulai, mari buat direktori (folder) untuk menyimpan file RSpec kita. Di jendela cmd.exe Anda, ketikkan yang berikut -

cd \

Kemudian ketik -

mkdir rspec_tutorial

Dan terakhir, ketik -

cd rspec_tutorial

Dari sini, kita akan membuat direktori lain bernama spec, lakukan itu dengan mengetik -

mkdir spec

Kami akan menyimpan file RSpec kami di folder ini. File RSpec dikenal sebagai "spesifikasi". Jika ini tampak membingungkan Anda, Anda dapat menganggap file spesifikasi sebagai file pengujian. RSpec menggunakan istilah "spesifikasi" yang merupakan kependekan dari "spesifikasi".

Karena, RSpec adalah alat uji BDD, tujuannya adalah untuk fokus pada apa yang dilakukan aplikasi dan apakah mengikuti spesifikasi atau tidak. Dalam pengembangan yang didorong perilaku, spesifikasi sering dijelaskan dalam istilah "Kisah Pengguna". RSpec dirancang untuk memperjelas apakah kode target berperilaku dengan benar, dengan kata lain mengikuti spesifikasi.

Mari kembali ke kode Hello World kita. Buka editor teks dan tambahkan kode berikut -

class HelloWorld

   def say_hello 
      "Hello World!"
   end
   
end

describe HelloWorld do 
   context “When testing the HelloWorld class” do 
      
      it "should say 'Hello World' when we call the say_hello method" do 
         hw = HelloWorld.new 
         message = hw.say_hello 
         expect(message).to eq "Hello World!"
      end
      
   end
end

Selanjutnya, simpan ini ke file bernama hello_world_spec.rb di folder spesifikasi yang Anda buat di atas. Sekarang kembali ke jendela cmd.exe Anda, jalankan perintah ini -

rspec spec spec\hello_world_spec.rb

Ketika perintah selesai, Anda akan melihat keluaran yang terlihat seperti ini -

Finished in 0.002 seconds (files took 0.11101 seconds to load) 
1 example, 0 failures

Selamat, Anda baru saja membuat dan menjalankan pengujian unit RSpec pertama Anda!

Pada bagian selanjutnya, kami akan terus membahas sintaks file RSpec.