初始测试用例(针对两个数字相加)
require 'test/unit'
class TestAddNumbers < Test::Unit::TestCase
def test_add_numbers
assert_equal(5, add_numbers(2, 3))
end
end
def add_numbers(a, b)
a + b
end
重构后的方法(处理两个以上数字的加法)
def add_numbers(*nums)
nums.inject(0, :+)
end
重构后的测试用例(同时包含原有功能测试和新功能测试)
require 'test/unit'
class TestAddNumbers < Test::Unit::TestCase
def test_add_numbers_two_numbers
assert_equal(5, add_numbers(2, 3))
end
def test_add_numbers_multiple_numbers
assert_equal(10, add_numbers(2, 3, 5))
end
end
def add_numbers(*nums)
nums.inject(0, :+)
end