在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
方法的实现是正确的,那么所有测试应该通过。如果有任何错误,测试将失败并显示相应的错误信息。