Это код, который я хочу, чтобы проверитьJunit expectMessage AssertionError
public static Map<String, String> JSON2Map(String urlParams) {
String [] params = urlParams.split("&");
Map<String, String> map = new HashMap<String, String>();
for (String param : params) {
String[] kvs= param.split("=");
if (kvs.length>1)
map.put(kvs[0], kvs[1]);
}
return map;
}
Это мой JUnit тест:
@Rule
public ExpectedException exception = ExpectedException.none();
@Test
public void JSON2MapTest() throws Exception {
exception.expect(NullPointerException.class);
exception.expectMessage("send null will occur NullPointerException");
JSONUtils.JSON2Map(null);
}
Когда я запускаю тест он бросает:
java.lang.AssertionError:
Expected: (exception with message a string containing "send null will occur NullPointerException" and an instance of java.lang.NullPointerException)
got: java.lang.NullPointerException
если Я прокомментирую //exception.expectMessage?(....)
, тогда он пройдет.
Что происходит с exception.expectMessage
?
спасибо за вашу помощь, метод, который я хочу тест другой PG если бы не выбрасывал исключение, поэтому я не могу уловить матрицу String, поэтому, Как я написал сообщение об ошибке, когда он выбрасывает исключение, когда метод не выдает исключение? – crowngym
Я действительно не понимаю, чего вы хотите? Вы хотите знать, как тестировать неконтролируемые исключения? –
Мне нужно проверить коды других людей, поэтому, если они не попытаются и не поймают исключение, и сегодня я хочу показать сообщение, если оно не выбрасывало исключение, которое я ожидал, я должен делать? – crowngym