ADH_test.h apoya la escritura de módulos de prueba de unitaria programas. El modelo que se usa para esta implementación es similar al expuesto en este artículo "The Simplest Automated Unit Test Framework That Could Possibly Work" de Chuck Allison, que se puede obtener aquí:
ADH_test está contenida en el archivo de encabezado ADH_test.h, por lo que para hacer pruebas basta poner esta directiva:ADH_test_TEST() que registra el nombre del archivo __FILE__ y el renglón __LINE__ de la prueba.
TestResult que sirve para acumular resultados de las pruebas. En su lugar, se puede obtener una hilera enorme std::string que contiene el registro de todas las pruebas que no tuvieron éxito invocando el método TestCase::toString() o TestCase::toXML().TestCase::failureCount() siempre retorna cero 0. // Falla vs Error en JUnit public void test_Falla () { try { new ArrayList(10).get( 11 ); fail("Falla si no tira IndexOutOfBoundsException" ); // falla } catch (IndexOutOfBoundsException success) { } // Ok } public void test_Error() { assertTrue( 1 == 2 ); // error }
ADH_test.h no se hace diferencia entre "fallas" y "errores".JUnit una "falla" se produce cuando no se levanta la excepción adecuada.JUnit un "error" se produce cuando una aserción resulta falsa.TestCase es una subclase de Assert; aquí no existe la clase Assert pero para mantener una leve compatibiliidad sí se provée una funcionalidad similar con macros cuyo nombres comienzan con "assert".
1.4.1