我想測試異常的返回碼。這裏是我的生產代碼:使用JUnit 4測試自定義異常的錯誤代碼
class A {
try {
something...
}
catch (Exception e)
{
throw new MyExceptionClass(INTERNAL_ERROR_CODE, e);
}
}
而相應的異常:
class MyExceptionClass extends ... {
private errorCode;
public MyExceptionClass(int errorCode){
this.errorCode = errorCode;
}
public getErrorCode(){
return this.errorCode;
}
}
我的單元測試:
public class AUnitTests{
@Rule
public ExpectedException thrown= ExpectedException.none();
@Test (expected = MyExceptionClass.class,
public void whenRunningSomething_shouldThrowMyExceptionWithInternalErrorCode() throws Exception {
thrown.expect(MyExceptionClass.class);
??? expected return code INTERNAL_ERROR_CODE ???
something();
}
}
的[測試預期的例外JUnit的正確方法]可能的複製( http://stackoverflow.com/questions/42374416/junit-right-way-of-test-expected-exceptions) –
我正在尋找一個很好的方式來做到這一點。 Try/catch是好的,但它意味着更多的代碼行。這是難看的我的觀點... – Guillaume
請檢查我的答案,希望這種方法將幫助你 –