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はRubyのための人気のあるBDD(行動駆動開発)フレームワークです。gem install rspec
でgemをインストールし、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
テストファイルを直接実行するか、minitestのために設定されたrake
タスクを通して実行します。サンプル出力:
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プロジェクトでテストを実装することで、より信頼性が高く、保守が容易なコードベースを目指すベストプラクティスに従うことになります。