Nie podoba mi się słowo kluczowe java assert
, ponieważ nie jest ono zawsze włączone w kodzie produkcyjnym. Szukam dobrej klasy "ProductionAssert" do użycia, która zawsze uruchamia odnotowane twierdzenia.Dobra klasa asertywna do użytku produkcyjnego? Odpowiednik Java PowerAssert Groovy?
Jednym z kandydatów jest Guava's Preconditions. Jest przyzwoity, ale nieco ograniczony (na przykład nr assertEquals()
, assertNull()
, assertGreaterEquals()
).
Jedną z alternatyw jest jUnit lub inny framework testowy ... ale niechętnie polegam na całym środowisku testowym tylko dla prostej klasy assert.
Gdybym programował w Groovy, użyłbym PowerAssert.
Czy istnieje dobra klasa "ProductionAssert" dla języka Java?
P.S. - jedną z opcji jest w końcu sprawdzenie czegoś takiego jak Java Contracts ... ale czego szukam teraz to absolutne minimum, zero tarcia, po prostu upuść bez żadnych zmian w procesie budowania klasy ... Nie jestem pewien, czy umowy pasują do tego opisu.
nie warto napisać klasę PowerAssert od podstaw? – vulkanino
@vulkanino - Zacząłem to robić ... ale zwykle wolę raczej je wykorzystywać niż reimplementować, chyba że jest ku temu dobry powód. – ripper234
Tak samo ja, ale napisałeś "absolutne minimum, zero tarcia" ... – vulkanino