Comments 7
AssertJ… Интеграция: нет <Click to see difference>
А какая у вас версия IntelliJ?
Вот как выглядит у меня что в Community 2020.1.2, что в 2019.3.3
Проверял и в 2020.2 Beta, и 2020.1.2.
Но дело, похоже, в другом: у вас выбрасывается исключение org.opentest4j.AssertionFailedError
. Если я добавлю зависимость testImplementation "org.opentest4j:opentest4j:1.2.0"
, то у меня становится так же, без "Click to see difference". Но без этой зависимости тест выбрасывает org.junit.ComparisonFailure
, и идея это парсит нормально. Если что, зависимости выглядят так:
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
testCompile group: 'junit', name: 'junit', version: '4.12'
testImplementation "org.assertj:assertj-core:3.16.1"
// testImplementation "org.opentest4j:opentest4j:1.2.0" // с этим не будет "Click to see difference"
}
ookami_kb
Судя по всему, вы запускаете с использованием JUnit4. В нем действительно оборачивается простой ассерт в org.junit.ComparisonFailure
. Однако ассерт чуть посложнее уже не будет оборачиваться:
С JUnit5 ситуация чуть повеселее. Есть баг в IntelliJ, суть которого в том, что интеграция не всегда работает, если запускать тесты через gradle (как это раньше делал я). И еще один связанный баг зарелизят в следующей версии.
В итоге если запускать тесты не через gradle, а через Idea (настраивается это через Settings → Build, Execution, Deployment → Gradle → Run tests using), то и в JUnit5 будет показываться сравнение, но только для простого isEqualTo:
Спасибо за ваше замечание, узнал много интересного:)
expectThat(haystack).not().contains(needle)
Большинство библиотек так или иначе пытаются мимикрировать под человечный язык, оставляя, однако, за бортом тот факт, что последний изначально был задуман для соблазнения самок (согласно одной из теорий) и плохо подходит для лаконичных и четких высказываний, которыми оперируем мы, роботы :) Поэтому чем больше требуется иностранных букав, чтобы описать простое выражение, тем хуже общая читаемость и вдупляемость кода.
Выбор библиотеки ассертов для проекта на Kotlin