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(Behavior-Driven Development) 프레임워크입니다. gem install rspec으로 gem을 설치한 다음, 프로젝트에서 rspec --init으로 초기화하세요.

# calculator_spec.rb
require_relative '../calculator'

describe Calculator do
  it '두 수를 올바르게 더한다' 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 프로젝트에서 테스트를 구현함으로써, 당신은 모범 사례를 준수하게 되며, 더 신뢰성 있고 유지보수가 용이한 코드 베이스를 이끌게 됩니다.