"Go testify 패키지"의 두 판 사이의 차이

17번째 줄: 17번째 줄:


==<code>assert</code> 패키지==
==<code>assert</code> 패키지==
* <code>assert</code> 패키지는 Go에서 더 나은 테스트 코드를 작성할 수 있는 몇 가지 유용한 메소드를 제공한다.
** 친절하고 읽기 쉬운 오류 설명 프린트
** 가독성 있는 코드 작성 가능
** 필요시 각 어설션에 설명 메시지 추가
<syntaxhighlight lang='go'>
package yours
import (
  "testing"
  "github.com/stretchr/testify/assert"
)
func TestSomething(t *testing.T) {
  // assert equality
  assert.Equal(t, 123, 123, "they should be equal")
  // assert inequality
  assert.NotEqual(t, 123, 456, "they should not be equal")
  // assert for nil (good for errors)
  assert.Nil(t, object)
  // assert for not nil (good when you expect something)
  if assert.NotNil(t, object) {
    // now we know that object isn't nil, we are safe to make
    // further assertions without causing any errors
    assert.Equal(t, "Something", object.Value)
  }
}
</syntaxhighlight>


==<code>require</code> 패키지==
==<code>require</code> 패키지==

2023년 6월 6일 (화) 15:50 판

1 개요

Testify - Thou Shalt Write Tests
테스트파이 - 테스트를 작성하라
  • 코드가 의도한 대로 작동한다는 것을 검증하기 위해 많은 도구를 제공하는 Go 패키지 세트
  • 기능
    • Easy assertions
    • Mocking
    • Testing suite interfaces and functions

2 assert 패키지

  • assert 패키지는 Go에서 더 나은 테스트 코드를 작성할 수 있는 몇 가지 유용한 메소드를 제공한다.
    • 친절하고 읽기 쉬운 오류 설명 프린트
    • 가독성 있는 코드 작성 가능
    • 필요시 각 어설션에 설명 메시지 추가
package yours

import (
  "testing"
  "github.com/stretchr/testify/assert"
)

func TestSomething(t *testing.T) {

  // assert equality
  assert.Equal(t, 123, 123, "they should be equal")

  // assert inequality
  assert.NotEqual(t, 123, 456, "they should not be equal")

  // assert for nil (good for errors)
  assert.Nil(t, object)

  // assert for not nil (good when you expect something)
  if assert.NotNil(t, object) {

    // now we know that object isn't nil, we are safe to make
    // further assertions without causing any errors
    assert.Equal(t, "Something", object.Value)

  }

}

3 require 패키지

require 패키지는 assert 패키지와 동일한 글로벌 함수를 제공하지만 boolean 결과를 반환하는 대신 현재 테스트를 종료한다.

자세한 내용은 t.FailNow를 참조하자.

4 mock 패키지

5 suite 패키지

6 설치

7 최신 유지

8 같이 보기

9 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}