¿Alguien usa la afirmación de Java en las empresas hoy (como en junio de 2014)?

Claro, creo que están en uso, pero tal vez no estén tan extendidos como deberían estar. Tenga en cuenta que la palabra clave de afirmación de Java puede ser tanto una característica de tiempo de ejecución como una característica de tiempo de prueba, mientras que las bibliotecas de pruebas unitarias son solo para tiempo de prueba. En términos prácticos, esto significa que puede rociar su código de producción con aserciones para probar las condiciones previas y posteriores y también como documento de efectos secundarios su código con algo más útil que, * ejem *, documentación.

El mejor uso de las aserciones es cuando documenta lo que el programador estaba pensando, es decir, suposiciones hechas, y cuando ocurre la falla del tiempo de ejecución significa que algún desarrollador en algún lugar ha pasado por alto algo. En los sistemas críticos, las afirmaciones pueden usarse para fallar temprano para evitar que ocurra una falla más costosa más adelante.

Entonces, sí, creo que lo están usando, y lo están usando para verificar suposiciones no locales y para ayudar a documentar las intenciones y evitar que surjan problemas más grandes.

Los que no lo usan son flojos, no se dan cuenta de que es una buena técnica o tienen alguna otra estrategia para preservar la cordura … y probablemente han invertido más en pruebas unitarias que en “afirmaciones de tiempo de ejecución”. Perdono a este último ya que solo hay tanta energía para tirar en un proyecto.

No estoy seguro de la propia declaración de afirmación de Java, pero con JUnit (que se usa mucho para las pruebas de Java), puede usar Assert.assertEquals () o funciones similares en sus pruebas, que en mi humilde opinión es muy superior a la declaración de afirmación de Java.