AssertJ: сделать утверждение, что все объекты Assert были заявлены на - PullRequest
1 голос
/ 30 мая 2019

При использовании библиотеки AssertJ меня интересует возможность утверждать, что на всех объектах org.assertj.core.api.Assert было сделано реальное утверждение. То есть такой тест, как следующий, не должен пройти, потому что он явно является ошибкой:

import static org.assertj.core.api.Assertions.assertThat;

// ... elided ...

@Test
public void unfinishedAssertion() {
    assertThat("str");
}

Есть ли способ настроить это с помощью AssertJ или сделать это утверждение методом JUnit @After?

Моя единственная мысль - предоставить статическую фабрику, такую ​​как assertThat, которая возвращает прокси, делегируя все вызовы методов базовому Assert и используя метод After, чтобы утверждать, что прокси имел по крайней мере один вызов с методом, который был не Assert#as или Assert#withFailMessage и т. д., но это кажется громоздким и ненужным, поскольку библиотека должна сама обеспечивать эту функцию.

1 Ответ

0 голосов
/ 31 мая 2019

На данный момент лучший способ - использовать findbugs / spotbugs, чтобы предупредить вас о подобном неправильном использовании, подробнее см. https://assertj.github.io/doc/#assertj-core-incorrect-usage.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...