Master BDD dengan Ruby on Rails 5: RSpec dan Capybara

Pelajari cara menguasai BDD dengan Ruby on Rails 5 melalui RSpec dan Capybara. Temukan teknik canggih untuk mengoptimalkan pengujian aplikasi Anda!

By WGS INDONESIA
4.9/4.9
Indonesia
Rp 43,750.00 GRATIS
E-COURSE banner with text and icons representing Artificial Intelligence and video learning

Detail Pembelajaran

Master BDD dengan Ruby on Rails 5: RSpec dan Capybara
  • - Pengujian Perangkat Lunak- BDD (Behavior Driven Development)- Ruby on Rails- RSpec- Capybara

Baca Online

Master BDD dengan Ruby on Rails 5: RSpec dan Capybara

Daftar Isi

  1. Pengantar Behavior Driven Development (BDD)
  2. Setup Ruby on Rails 5 dengan RSpec dan Capybara
  3. Struktur Proyek dan Direktori Testing
  4. Menulis Spec Pertama dengan RSpec
  5. Testing Feature dengan Capybara
  6. Best Practices dalam BDD dengan Rails
  7. Sumber Belajar dan Channel Pembelajaran

1. Pengantar Behavior Driven Development (BDD)

Behavior Driven Development (BDD) adalah pendekatan pengembangan perangkat lunak yang berfokus pada kolaborasi antara pengembang, tester, dan pemilik produk untuk menghasilkan perangkat lunak yang sesuai dengan kebutuhan bisnis. BDD menggunakan bahasa yang mudah dimengerti oleh semua pihak, biasanya dalam format Given-When-Then .

Dengan BDD, kita menulis spesifikasi yang dapat dijalankan (executable specifications) yang sekaligus berfungsi sebagai dokumentasi dan pengujian otomatis.

Diagram alur kerja Behavior Driven Development yang menunjukkan kolaborasi antara developer, tester, dan product owner dengan proses Given-When-Then

Pada Ruby on Rails, dua library populer untuk BDD adalah RSpec untuk menulis test dan Capybara untuk simulasi interaksi pengguna pada aplikasi web.

2. Setup Ruby on Rails 5 dengan RSpec dan Capybara

Untuk memulai BDD di Rails 5, kita perlu menambahkan beberapa gem ke dalam proyek. Berikut langkah-langkah setup:

# Tambahkan ke Gemfile di grup development dan test:
group :development, :test do
  gem 'rspec-rails', '~> 3.8'
  gem 'capybara', '~> 3.35'
  gem 'selenium-webdriver'
  gem 'webdrivers'
end

# Lalu jalankan perintah di terminal:
bundle install
rails generate rspec:install
      

Perintah rails generate rspec:install akan membuat folder spec/ dan file konfigurasi RSpec.

Tampilan terminal yang menunjukkan proses instalasi gem rspec-rails, capybara, selenium-webdriver dan webdrivers serta generate rspec:install

3. Struktur Proyek dan Direktori Testing

Setelah setup, struktur direktori testing di Rails dengan RSpec biasanya seperti ini:

  • spec/models/ - untuk testing model
  • spec/controllers/ - untuk testing controller
  • spec/features/ - untuk testing fitur dan integrasi dengan Capybara
  • spec/support/ - untuk helper dan konfigurasi tambahan
Tampilan struktur folder proyek Ruby on Rails dengan folder spec dan subfolder models, controllers, features, support

Kita akan fokus pada spec/features/ untuk testing end-to-end menggunakan Capybara dan spec/models/ untuk unit test model.

5. Testing Feature dengan Capybara

Capybara memungkinkan kita menulis test yang mensimulasikan interaksi pengguna di browser. Contoh test fitur membuat artikel baru:

# spec/features/create_article_spec.rb
require 'rails_helper'

RSpec.feature "CreateArticle", type: :feature do
  scenario "Pengguna membuat artikel baru dengan sukses" do
    visit new_article_path

    fill_in 'Title', with: 'Artikel Baru'
    fill_in 'Content', with: 'Isi lengkap artikel baru'
    click_button 'Create Article'

    expect(page).to have_text('Artikel berhasil dibuat')
    expect(page).to have_text('Artikel Baru')
  end

  scenario "Pengguna gagal membuat artikel tanpa judul" do
    visit new_article_path

    fill_in 'Title', with: ''
    fill_in 'Content', with: 'Isi lengkap artikel'
    click_button 'Create Article'

    expect(page).to have_text("Title can't be blank")
  end
end
      

Jalankan test fitur dengan:

bundle exec rspec spec/features/create_article_spec.rb
      
Tampilan terminal yang menunjukkan hasil test Capybara feature dengan status passed

Capybara juga mendukung driver seperti Selenium untuk testing JavaScript dan interaksi kompleks.

6. Best Practices dalam BDD dengan Rails

  • Tulis test yang mudah dibaca dan dimengerti: Gunakan bahasa alami dan struktur Given-When-Then untuk menjelaskan skenario.
  • Jaga test tetap cepat dan terisolasi: Gunakan mocking dan stubbing untuk menghindari ketergantungan pada layanan eksternal.
  • Gunakan Factory Bot untuk data test: Membantu membuat data dummy yang konsisten dan mudah di-maintain.
  • Jalankan test secara rutin: Integrasikan dengan CI/CD untuk memastikan kualitas kode tetap terjaga.
  • Dokumentasikan test dan fitur: Test yang baik juga berfungsi sebagai dokumentasi hidup aplikasi.
Ilustrasi best practices dalam Behavior Driven Development dengan ikon checklist dan kode Ruby on Rails

7. Sumber Belajar dan Channel Pembelajaran

Berikut beberapa sumber dan channel yang sangat membantu untuk mendalami BDD dengan Ruby on Rails, RSpec, dan Capybara:

Logo channel YouTube GoRails dan Drifting Ruby dengan latar belakang kode Ruby on Rails

Edukasi Terkait