2013-01-09 2 views
0

, 우리는JUnit에서 예외가 발생하지 않는다는 것을 나타내는 방법은 무엇입니까? 구글 테스트에서

EXPECT_NO_THROW(x.foo()); 

어떻게 JUnit을이 작업을 수행 할 수있는가? 필자가 피하고자하는 것은 try/catch 블럭을 쓰고, 내 테스트 함수가 throw 일 것이라고 지정하는 것이다. Java는 테스트 함수를 사용하여 throws 절을 선언하도록 강요합니다 ...

가능합니까?

+0

과 같이 사용할 수의, ExceptionClassName 예외 또는

을 기대하고있다 'throws' 절을 선언하지 마십시오. 그건 단순히 자바에서 불가능합니다, 당신은 어떻게 든 체크 예외를 처리해야합니다. 가장 좋은 가장 일반적인 방법은 테스트 메소드 시그니처의'throws' 절입니다. –

답변

4

필요하지 않습니다. 메소드가 예외를 던지면 테스트는 실패합니다. 이는 원하는 것입니다. 당신이 예외를 기대하지 않는 그

@Test public void testMe() throws Exception { 
    x.foo(); 
} 

이 수단 (나에게) :이 경우

, 그것은 예외를 throw 테스트 선언을 가지고 허용합니다.

0

Junit 4에서는 try catch 블록을 피하기 위해 다음과 같은 구문을 사용할 수 있습니다. 당신은 항상 예외를 기대하는 경우 여기

@Test (expected=ExceptionClassName.class) 
public void yourTestCase(){ 
     //testing codes 
} 

당신은 어떤 종류의

@Test (expected=Exception.class) 
public void yourTestCase(){ 
     //testing codes 
} 
당신은/catch`을`쓰기 시도하지 할
+0

멋지지만, 그게 내가 필요로하는 것이 아닙니다.'@Test (expected = NoException)'... – xtofl

+0

그런 다음 테스트 케이스를 적어두고 try catch를 작성하지 마십시오. 나는 그것이 좋을 것이라고 생각한다. 어떻게 생각해? 거기에 어떤 문제가 있습니까? – Dipak

+0

Java에서는'throws' 선언을 작성하도록 강요합니다. 이제 물어 보니 ... 나는 그 질문에 언급하지 않았다. – xtofl