java-junit

sitename test

용어정리

  • test context
  • 테스트의 정의
    • 반복적으로 수행되고 동일한 결과를 얻어야 함
  • 테스트케이스에서 사용하는 인스턴스
  • 파일이나 네트워크 등의 자원을 만들어서 지정
  • 데이터베이스 연동

JUnit 기본 단언문

  • assertEqual: 두개의 값이 같은지 비교
  • assertSame: 두 개의 객체가 정말 동일한 객체인지 확인
  • assertTrue: 예상 값의 참 거짓을 판별
  • asserNull: 대상 값이 null이면 참이 됨
  • fail

특징

fixture

  • @BeforeClass
  • @AfterClass
  • @Before
  • @After

테스트 종류

  • 시간 제한 테스트
    • @Test(timeout=1000)
  • 테스트 무시
    • @Ignore
  • 배열지원
  • @RunWith
    • JUnit Test 클래스를 실행하기 위해서 Runner명시적으로 지정
  • @Suiteclasses(Class[])
    • 여러개의 테스트 클래스를 수행하기 위해서 쓰임
    • @RunWith(Suite.class)@SuiteClass(Class[])
  • @파라미터를 이용한 테스트

단언문 Hamcrest

  • assertThat(테스트 대상, matcher 구문);
  • assertThat(“메시지”,테스트대상, matcher 구문);
assertEquals(100, accout.getBalance())
assertThat(account.getBalance(), is(equalTo(1000)));

assertNotNull(resource.newConnection());
assertThat(resource.newConnection(), is(notNullValue());

assertTrue(account.getBalance() > 0);
assertThat(account.getBalance(), isGreaterThan(0));

assertTrue(user.getLoginName().indexOf("Guest") > -1));
assertThat(user.getLoginName(), containsString("Guest"));
  • is
  • equalsTo
  • greaterThan

대표적인 Matchers1

core

  • anything
  • describdedAs
  • is

object

  • equalTo
  • hasToString
  • instanceOf, isCompatibleType
  • notNullValue, nullValue
  • sameInstance

logical

  • allOf
  • anyOf
  • not

beans

  • hasProperty

collection

number

  • closedTo
  • greaterThen, greaterThanOrEqualTo, lessThen, lessThenOrEqualTo

text

  • equalToIgnoringCase
  • equalToIgnoringWhiteSpace
  • containsString, endsWith, startsWith


  1. https://www.lesstif.com/pages/viewpage.action?pageId=18219426 ↩︎