Вы передаете регулярное выражение, которое не соответствует выходному сообщению.
Если вы ожидаете часть полного сообщения, попробуйте использовать:
@Test(expectedExceptions=StatusRuntimeException.class, expectedExceptionsMessageRegExp =".*ExceptionMsg.*")
Это будет проверять, что сообщение содержит ExceptionMsg
где-то в сообщении.
Однако, если ExceptionMsg
- ожидаемое полное сообщение, вы должны экранировать специальные символы регулярного выражения, чтобы оно работало.
Специальные символы, такие как .
, должны быть экранированы путем добавления символа экранирования \
перед специальным символом, например, так: \.
Я не могу дать больше информации без более конкретной информации.сообщение.Если вы добавите ожидаемое сообщение, я могу указать его экранированную версию в своем ответе.
РЕДАКТИРОВАТЬ:
Если вы хотите что-то вроде второго, я не будузнать, существует ли он в testng, однако вы можете сделать это следующим образом:
@Test
public void testMethod(){
// test code
try {
// call function/method that throws the StatusRuntimeException
} catch (StatusRuntimeException ex) {
// validate the exception
Assert.assertTrue(ex.getMessage().contains("ExceptionMsg"));
}
}