YARD를 RSpec으로 실행

4073 단어 rubyrspecyard
이 기사에서 yardspec을 소개하겠습니다.

yardspec은 RSpec 예제로 YARD 문서@example 실행을 지원하는 Ruby gem입니다.

module Foo
  class Bar
    # @example returns "baz"
    #   expect(Foo::Bar.new.baz).to eq('baz')
    #
    # @example returns "bazbaz" for count 2
    #   expect(Foo::Bar.new.baz(count: 2)).to eq('bazbaz')
    #
    # @return [String]
    def baz(count: 1)
      'baz' * count
    end
  end
end


위의 문서 예제를 다음 RSpec 예제로 해석합니다.

RSpec.describe 'Foo::Bar#baz' do
  it 'returns "baz"' do
    expect(Foo::Bar.new.baz).to eq('baz')
  end

  it 'returns "bazbaz" for count 2' do
    expect(Foo::Bar.new.baz(count: 2)).to eq('bazbaz')
  end
end


다음과 같이 RSpec을 실행하면 자동으로 테스트됩니다.

$ bundle exec rspec

Foo::Bar#baz
  returns "baz"
  returns "bazbaz" for count 2

Finished in 0.00129 seconds (files took 0.087 seconds to load)
2 examples, 0 failures


알다시피 이것은 RSpec 및 YARD for Ruby에 포함된 Rust, Python, Elixir 등의 doctest 개념입니다.

문서에 예제 코드를 포함하고 실행 결과를 보여주는 것이 종종 도움이 됩니다. 그러나 문서가 코드와 함께 최신 상태를 유지하는지 확인하는 것이 중요합니다.

그것이 yardspec이 만들어진 목적입니다. 실제로 작동하는 예제 코드를 작성함으로써 사용자는 안심하고 읽고 직접 사용해 볼 수 있습니다.

추가 자료



  • https://github.com/r7kamura/yardspec
  • yardspec 소스 코드


  • https://www.rubydoc.info/gems/yard/file/docs/Tags.md#example
  • 야드@example 태그


  • https://doc.rust-lang.org/rustdoc/write-documentation/documentation-tests.html
  • 러스트 doctest

  • 좋은 웹페이지 즐겨찾기