在Ruby中,我們可以使用test/unit庫進行錯誤處理模擬測試
首先,創建一個名為calculator.rb的文件,其中包含一個簡單的計算器方法,該方法可能會引發異常:
# calculator.rb
def add(a, b)
raise ArgumentError, "Invalid arguments" if a.nil? || b.nil?
a + b
end
接下來,創建一個名為calculator_test.rb的測試文件:
# calculator_test.rb
require 'test/unit'
require_relative 'calculator'
class CalculatorTest < Test::Unit::TestCase
def setup
@calculator = Calculator.new
end
def test_add_with_valid_arguments
assert_equal 4, @calculator.add(2, 2)
end
def test_add_with_invalid_arguments
assert_raise(ArgumentError) { @calculator.add(nil, 2) }
assert_raise(ArgumentError) { @calculator.add(2, nil) }
assert_raise(ArgumentError) { @calculator.add(nil, nil) }
end
end
在這個測試文件中,我們定義了兩個測試方法:
test_add_with_valid_arguments:測試當提供有效參數時,add方法是否正確執行。test_add_with_invalid_arguments:測試當提供無效參數時,add方法是否引發ArgumentError異常。要運行測試,請在命令行中輸入以下命令:
ruby calculator_test.rb
這將運行測試并顯示結果。如果add方法的實現是正確的,那么所有測試應該通過。如果有任何錯誤,測試將失敗并顯示相應的錯誤信息。