Ruby錯(cuò)誤處理如何進(jìn)行模擬測試

小樊
81
2024-11-06 02:15:34
欄目: 編程語言

在Ruby中,我們可以使用test/unit庫進(jìn)行錯(cuò)誤處理模擬測試

首先,創(chuàng)建一個(gè)名為calculator.rb的文件,其中包含一個(gè)簡單的計(jì)算器方法,該方法可能會(huì)引發(fā)異常:

# calculator.rb
def add(a, b)
  raise ArgumentError, "Invalid arguments" if a.nil? || b.nil?
  a + b
end

接下來,創(chuàng)建一個(gè)名為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

在這個(gè)測試文件中,我們定義了兩個(gè)測試方法:

  1. test_add_with_valid_arguments:測試當(dāng)提供有效參數(shù)時(shí),add方法是否正確執(zhí)行。
  2. test_add_with_invalid_arguments:測試當(dāng)提供無效參數(shù)時(shí),add方法是否引發(fā)ArgumentError異常。

要運(yùn)行測試,請(qǐng)?jiān)诿钚兄休斎胍韵旅睿?/p>

ruby calculator_test.rb

這將運(yùn)行測試并顯示結(jié)果。如果add方法的實(shí)現(xiàn)是正確的,那么所有測試應(yīng)該通過。如果有任何錯(cuò)誤,測試將失敗并顯示相應(yīng)的錯(cuò)誤信息。

0