package base; import com.yanzuoguang.util.contants.ResultConstants; import com.yanzuoguang.util.exception.CodeException; import com.yanzuoguang.util.exception.CodeTargetException; import com.yanzuoguang.util.exception.ExceptionHelper; import com.yanzuoguang.util.exception.RuntimeCodeException; import com.yanzuoguang.util.vo.ResponseResult; import org.junit.Assert; import org.junit.Test; public class TestException { @Test public void testCodeException() { CodeException codeException = new CodeException("05", "message", "target"); ResponseResult<?> error = ExceptionHelper.getError(codeException); Assert.assertEquals(codeException.getCode(), error.getCode()); Assert.assertEquals(codeException.getMessage(), error.getMessage()); Assert.assertNull(error.getTarget()); try { error.check(); } catch (CodeException ex) { Assert.assertEquals(ex.getClass(), CodeException.class); Assert.assertEquals(codeException.getCode(), ex.getCode()); Assert.assertEquals(codeException.getMessage(), ex.getMessage()); Assert.assertNull(ex.getTarget()); } } @Test public void testCodeTargetException() { CodeTargetException codeException = new CodeTargetException("05", "message", "target"); ResponseResult<?> error = ExceptionHelper.getError(codeException); Assert.assertEquals(codeException.getCode(), error.getCode()); Assert.assertEquals(codeException.getMessage(), error.getMessage()); Assert.assertEquals(codeException.getTarget(), error.getTarget()); try { error.check(); } catch (CodeTargetException ex) { Assert.assertEquals(ex.getClass(), CodeTargetException.class); Assert.assertEquals(codeException.getCode(), ex.getCode()); Assert.assertEquals(codeException.getMessage(), ex.getMessage()); Assert.assertEquals(codeException.getTarget(), ex.getTarget()); } } @Test public void testRuntimeCodeException() { RuntimeCodeException codeException = new RuntimeCodeException("05", "message", "target"); ResponseResult<?> error = ExceptionHelper.getError(codeException); Assert.assertEquals(codeException.getCode(), error.getCode()); Assert.assertEquals(codeException.getMessage(), error.getMessage()); Assert.assertNull(error.getTarget()); try { error.check(); } catch (RuntimeCodeException ex) { Assert.assertEquals(ex.getClass(), RuntimeCodeException.class); Assert.assertEquals(codeException.getCode(), ex.getCode()); Assert.assertEquals(codeException.getMessage(), ex.getMessage()); Assert.assertNull(ex.getTarget()); } } @Test public void testException() { Exception codeException = new Exception("message"); ResponseResult<?> error = ExceptionHelper.getError(codeException); Assert.assertEquals(ResultConstants.UNKNOW_ERROR, error.getCode()); Assert.assertEquals(codeException.getMessage(), error.getMessage()); Assert.assertNull(error.getTarget()); try { error.check(); } catch (RuntimeCodeException ex) { Assert.assertEquals(ex.getClass(), RuntimeCodeException.class); Assert.assertEquals(ResultConstants.UNKNOW_ERROR, ex.getCode()); Assert.assertEquals(codeException.getMessage(), ex.getMessage()); Assert.assertNull(ex.getTarget()); } } }