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