No me gusta la palabra clave java assert
, porque no siempre está habilitada en el código de producción. Estoy buscando una buena clase "ProductionAssert" para usar, que siempre ejecuta las afirmaciones señaladas.¿Una buena clase afirmativa para uso de producción? ¿El equivalente de Java de PowerAssert de Groovy?
Un candidato es Guava's Preconditions. Es decente, pero un poco limitado (por ejemplo, no assertEquals()
, assertNull()
, assertGreaterEquals()
).
Una alternativa es incluir jUnit u otro marco de prueba ... pero soy reacio a depender de un marco de prueba completo solo para una clase de afirmación simple.
Si estuviera programando en Groovy, usaría PowerAssert.
¿Hay una buena clase "ProductionAssert" para Java?
P.S. - Una opción es, finalmente, verificar algo como Java Contracts ... pero lo que estoy buscando ahora es la mínima fricción absoluta, cero, simplemente drop-it-in sin ningún tipo de cambios en el tipo de clase de proceso de construcción ... No estoy seguro de que los contratos se ajusten a esa descripción.
no vale la pena escribir una clase PowerAssert desde cero? – vulkanino
@vulkanino - Empecé a hacer exactamente eso ... pero generalmente prefiero reutilizar en lugar de volver a implementar, a menos que haya una buena razón para no hacerlo. – ripper234
sí, pero escribiste "el mínimo absoluto, cero fricción" ... – vulkanino