Получить значения неудачного теста в плагине Maven Surefire - PullRequest
0 голосов
/ 15 мая 2018

Я привык работать с буст-тестом, который, если тест не пройден, показывает два значения, с которыми сравнивается, например:

test": check 0.99999608 == discountFactor1.getDiscountFactor() has failed [0.99999607999999995 != 0.99999608334867351].

Теперь в Java я использую Maven Surefire, и когда тест не проходит, он сообщает позицию кода, где находится вызов теста, например:

java.lang.AssertionError
...
testSendRequest(sendRequestTest.java:295)

В этой позиции у меня есть вызов теста:

295 Assert.assertTrue(HHH.getSequenceNumber() == sequenceNumber);

Есть ли способ узнать значения HHH.getSequenceNumber () и sequenceNumber, если тест не пройден?

1 Ответ

0 голосов
/ 15 мая 2018

Фактическое сообщение, вероятно, предоставляется вашей IDE и выходит за рамки возможностей модульного тестирования:

test ": check 0.99999608 == discountFactor1.getDiscountFactor () имеет Ошибка [0.99999607999999995! = 0.99999608334867351].

Чтобы добиться аналогичных результатов с Maven, вы можете использовать перегруженный метод assertTrue(), который добавляет в вывод текстовое сообщение, связанное с ошибкой:

Assert.assertTrue(String msg, boolean condition)

Вы могли бы написать это:

Assert.assertTrue(HHH.getSequenceNumber() + " is not equals to " + 
                 sequenceNumber, 
                 HHH.getSequenceNumber() == sequenceNumber);

Но на самом деле я думаю, что вы должны использовать Assert.assertEquals(), который в случае неудачного теста выдает сообщение, сравнивающее два объекта.
Вы могли бы так написать:

Assert.assertEquals(HHH.getSequenceNumber(), sequenceNumber);
...