Ruby:
การเขียนการทดสอบ

วิธีการ:

Ruby มาพร้อมกับไลบรารีในตัวเรียกว่า Test::Unit สำหรับเขียนการทดสอบยูนิต, ห่อหุ้มการปฏิบัติการทดสอบภายในโครงสร้างที่ตรงไปตรงมา อย่างไรก็ตาม, ชุมชน Ruby มักเอนเอียงไปใช้ไลบรารีจากบุคคลที่สามเช่น RSpec และ Minitest เนื่องจากความสามารถในการแสดงออกและความยืดหยุ่นที่เพิ่มขึ้น

การใช้ Test::Unit:

require 'test/unit'

class CalculatorTest < Test::Unit::TestCase
  def test_addition
    result = 2 + 2
    assert_equal 4, result
  end
end

รันไฟล์ทดสอบจากเทอร์มินัล, และคุณควรจะได้รับผลลัพธ์ที่ระบุถึงความสำเร็จหรือล้มเหลวของการทดสอบ:

Loaded suite test_calculator
Started
.
Finished in 0.001288 seconds.
1 tests, 1 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

การใช้ RSpec:

RSpec เป็นกรอบการทำงาน BDD (Behavior-Driven Development) ที่ได้รับความนิยมสำหรับ Ruby ติดตั้ง gem ด้วย gem install rspec, จากนั้นเริ่มต้นใช้งานในโปรเจ็คของคุณด้วย rspec --init.

# calculator_spec.rb
require_relative '../calculator'

describe Calculator do
  it 'correctly adds two numbers' do
    expect(Calculator.add(2, 2)).to eq(4)
  end
end

รันการทดสอบด้วยคำสั่ง rspec. ตัวอย่างผลลัพธ์:

.

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

การใช้ Minitest:

Minitest ให้ชุดการทดสอบที่สมบูรณ์รองรับ TDD, BDD, การจำลอง, และการทดสอบประสิทธิภาพ ติดตั้งมันด้วยคำสั่ง gem install minitest และสามารถใช้งานได้ตามนี้:

# test_calculator.rb
require 'minitest/autorun'
require_relative '../calculator'

class CalculatorTest < Minitest::Test
  def test_addition
    assert_equal 4, Calculator.add(2, 2)
  end
end

รันไฟล์ทดสอบโดยตรงหรือผ่านงาน rake ที่ตั้งค่าไว้สำหรับ minitest. ตัวอย่างผลลัพธ์:

Run options: --seed 33407

# Running:

.

Finished in 0.001027s, 974.5922 runs/s, 974.5922 assertions/s.
1 runs, 1 assertions, 0 failures, 0 errors, 0 skips

โดยการนำการทดสอบเหล่านี้มาใช้ในโปรเจ็ค Ruby ของคุณโดยใช้ไลบรารีเหล่านี้, คุณจะปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด, นำไปสู่ฐานโค้ดที่เชื่อถือและบำรุงรักษาได้มากขึ้น