Red de conocimiento informático - Material del sitio web - Cómo realizar pruebas unitarias de Boost en VS2013

Cómo realizar pruebas unitarias de Boost en VS2013

Hay muy poca información sobre cómo realizar pruebas unitarias de Boost en VS2013. También tomé muchos desvíos por esto. A continuación se explicará cómo realizar pruebas unitarias de Boost en VS2013.

Antes de comenzar las pruebas de la unidad Boost, necesitamos instalar el adaptador de prueba de la unidad Boost VS2013 (Actualización 3) y compilar la biblioteca Boost. Boost Unit Test Adapte se puede encontrar e instalar en "Herramientas->Extensiones y actualizaciones" en VS2013. Para conocer la versión de la biblioteca Boost compatible con Boost Unit Test Adapter, consulte la página web. Elegí la biblioteca Boost con el número de versión 1.55.0 (se puede descargar desde su sitio web oficial). Al compilar la biblioteca Boost, puede consultar tutoriales y publicaciones de blog. Elegí la compilación completa (bjam --toolset=msvc-12.0 --build-type=complete).

Lo siguiente se explica en varios pasos:

1. Crear una nueva solución y proyecto

A continuación, creamos una nueva solución BoostUnitTest, y luego en esta. solución Agregue (haga clic derecho en la solución para crear un nuevo proyecto) dos proyectos a continuación. El primer proyecto es el proyecto vacío "WIN32" "Probado", y el otro es el proyecto "Boost Unit Test Project" (en Nuevo proyecto->Plantilla->Visual C++->Prueba) "BoostUnitTest". Como se muestra a continuación:

2. Agregue archivos al proyecto probado

Agregue un archivo de encabezado testado.h y un archivo fuente probado.cpp al proyecto probado. El código específico es el siguiente.

1 #include

2

3 usando el espacio de nombres std;

4

5 clase Probado

6 {

7 público:

8

9 Probado();

10 virtual ~ Probado() ;

11 int add(const int a, const int b);

12

13 privado:

14

15 };

probado.h

1 #include "probado.h"

2

3 Probado: :Probado()

4 {

5

6 }

7

8 Probado ::~ Probado()

9 {

10

11 }

12

13 int Probado ::añadir (const int a, const int b)

14 {

15 devolver a + b;

16 }

tested.cpp

Aquí, no necesitamos crear una nueva función principal para probar esta clase Tested (porque ya tenemos pruebas unitarias), pero un programa requiere una función principal de forma predeterminada, por lo que necesita estar en el proyecto probado Realice las siguientes configuraciones en las propiedades (cambie "Tipo de configuración" a "Biblioteca dinámica (.dll)" (vea la imagen a continuación):

Luego, "genere" el proyecto y genere el archivo testado.obj.

3. Configure el proyecto de prueba unitaria de Boost

El proyecto de prueba unitaria de Boost recién creado tiene dos archivos fuente "BoostUnitTestSample.cpp" y "BoostUnitTest.cpp" (y stdafx.h, stdafx.cpp, targetver.h), el archivo anterior es una muestra y se puede omitir, y el último archivo se puede utilizar como nuestro archivo fuente de prueba unitaria.

Primero configure el proyecto:

1) Agregue el "Conjunto de herramientas de plataforma" como "Visual Studio 2013 (v120)", como se muestra en la siguiente figura:

2) Agregue el directorio raíz que contiene la biblioteca Boost (en mi computadora es D:\boots_1_55_0), vea la imagen a continuación:

3) Agregue el directorio de la biblioteca Boost y el directorio donde está el archivo .obj del proyecto a probar, vea la imagen a continuación:

4) Agregue "Dependencias adicionales" "tested.obj", vea la imagen a continuación:

4. pruebas unitarias

Nota: solo estamos realizando pruebas unitarias simples en este momento. Para pruebas más complejas, consulte el enlace que se encuentra al final del artículo.

Agregue el siguiente código al archivo "BoostUnitTest.cpp" (también puede crear uno nuevo) en el proyecto BoostUnitTest:

1 #define BOOST_TEST_MODULE Ejemplo                            Acerca del conjunto de pruebas principal , solo 1 en un proyecto de prueba puede tener un conjunto de pruebas principal

2

3 #include "stdafx.h"

4 #include "D:\ VSProject\BoostUnitTest\BoostUnitTest\Tested \tested.h" // Archivo de encabezado del proyecto a probar

5

6 BOOST_AUTO_TEST_SUITE(Tested_test) > 8 BOOST_AUTO_TEST_CASE(BoostUnitTest)                                     ceso

9 {

10 // TODO: Tu código de prueba aquí

11 Probado tmpTested;

12 BOOST_WARN(tmpTested.add(2 , 2) == 4); // Detección de predicción de tipo WARN

13 BOOST_CHECK(tmpTested.add(2, 2) == 4); (tmpTested.add(2, 2) == 4); // REQUIERE detección de tipo Oracle

15 }

16

17 BOOST_AUTO_TEST_SUITE_END()

Haga clic en "Generar->Generar solución" (abra "Prueba->Ventana->Administrador de recursos de prueba" de antemano) y podrá ver los "Recursos de prueba". El caso de prueba unitaria "BoostUnitTest" aparece en "Administrador". , como se muestra a continuación:

Haga clic en "Ejecutar todo", podrá ver que el caso de prueba se vuelve verde, lo que indica que la prueba pasó, como se muestra a continuación:

Si cambiamos la línea 13 en "BoostUnitTest.cpp" a:

BOOST_CHECK(tmpTested.add(2, 2) == 3);

Prueba unitaria El resultado de la ejecución falló, como se muestra a continuación:

En este punto, se completa el proceso de cómo realizar una prueba unitaria de Boost simple. Si desea realizar pruebas más complejas, puede consultar la documentación oficial.

También hay algunos buenos materiales de referencia que personalmente creo que son mejores

Materiales de referencia:

Manual chino de Boost Test Library;

Marco de pruebas unitarias "Comprensión de Boost" de DeveloperWorks"