Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 31285|Respuesta: 3

[Fuente] .net/c# utiliza pruebas unitarias xunit

[Copiar enlace]
Publicado en 22/1/2019 14:58:26 | | | |
Actualmente en el puesto. Las herramientas de prueba bajo el framework Net incluyen principalmente Nunit, MSTest integrado y Xunit, y este artículo presentará brevemente cómo usar XUnit, una estrella emergente en VS.

El tiempo de ejecución mínimo soportado por xunit es . NET 4.5.2, la mayoría de los cuales son más altos. Aunque puedas construir una biblioteca de clases 4.0, seguirá funcionando al menos en .NET 4.5.2. Enlaces detallados:https://github.com/xunit/xunit/issues/1817


Primero, creé un nuevo proyecto de consola .NET 4.5.2 con el nombre: itsvse-test, y la última versión de xunit es: 2.4.1, así que el comando nuget es el siguiente:

Cada paquete está licenciado a tu nombre por su propietario. NuGet no se hace responsable de los paquetes de terceros ni los licencia. Algunos paquetes pueden incluir dependencias sujetas a otras licencias. Haz clic en la URL de origen del paquete (fuente) para determinar cualquier dependencia.

Versión anfitriona de la consola Package Manager 4.7.0.5212

Escribe "get-help NuGet" para ver todos los comandos NuGet disponibles.

PM> Install-Package xunit -Versión 2.4.1


Se están intentando recoger y apuntar ". NETFramework, Version=v4.5.2" del proyecto "itsvse-test" sobre el paquete "xunit.2.4.1"
Se tarda 2,1 segundos en recopilar la información de dependencias
Intentando resolver la dependencia del paquete "xunit.2.4.1" con DependencyBehavior como "Lowest"
El análisis de información de dependencias tarda 0 ms
Operación de análisis para instalar el paquete "xunit.2.4.1"
Se resolvió la operación para instalar el paquete "xunit.2.4.1"
Recuperar el paquete "xunit 2.4.1" de "cnblogs"
Recuperar el paquete "xunit.abstractions 2.0.3" de "cnblogs"
Recuperar el paquete "xunit.analyzers 0.10.0" de "cnblogs"
Recuperar el paquete "xunit.assert 2.4.1" de "cnblogs"
Recuperar el paquete "xunit.core 2.4.1" de "cnblogs"
Recuperar el paquete "xunit.extensibility.core 2.4.1" de "cnblogs"
Recuperar el paquete "xunit.extensibility.execution 2.4.1" de "cnblogs"
  OBTENERhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  OBTENERhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  OBTENERhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  OBTENERhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  OBTENERhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  OBTENERhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  OBTENERhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  De acuerdohttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 ms
  De acuerdohttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 ms
Instalando xunit.abstractions 2.0.3.
Instalando xunit 2.4.1.
  De acuerdohttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 ms
Instalando xunit.core 2.4.1.
  De acuerdohttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 ms
Instalando xunit.assert 2.4.1.
  De acuerdohttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 ms
Instalando xunit.extensibility.core 2.4.1.
  De acuerdohttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 ms
Instalando xunit.analyzers 0.10.0.
  De acuerdohttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 ms
Instalando xunit.extensibility.execution 2.4.1.
Añadir el paquete "xunit.abstractions.2.0.3" a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
El paquete "xunit.abstractions.2.0.3" ha sido añadido a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Añadido el paquete "xunit.abstractions.2.0.3" a "packages.config"
Instalado correctamente "xunit.abstractions 2.0.3" en su test
Añadir solo el paquete de herramientas "xunit.analyzers.0.10.0" a "itsvse-test"
Añadiendo el paquete "xunit.analyzers.0.10.0" a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
El paquete "xunit.analyzers.0.10.0" se ha añadido a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Añadido el paquete "xunit.analyzers.0.10.0" a "packages.config"
Archivo de script "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" ha sido instalado con éxito en su prueba de URSVSE
Añadiendo el paquete "xunit.assert.2.4.1" a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
El paquete "xunit.assert.2.4.1" se ha añadido a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Añadido el paquete "xunit.assert.2.4.1" a "packages.config"
"xunit.assert 2.4.1" ha sido instalado con éxito en su prueba de la prueba
Añadiendo el paquete "xunit.extensibility.core.2.4.1" a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
El paquete "xunit.extensibility.core.2.4.1" se ha añadido a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Añadido el paquete "xunit.extensibility.core.2.4.1" a "packages.config"
"xunit.extensibility.core 2.4.1" ha sido instalado con éxito en su prueba de la VSE
Añadiendo el paquete "xunit.extensibility.execution.2.4.1" a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
El paquete "xunit.extensibility.execution.2.4.1" se ha añadido a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Añadido el paquete "xunit.extensibility.execution.2.4.1" a "packages.config"
"xunit.extensibility.execution 2.4.1" ha sido instalado con éxito en su prueba
Añadiendo el paquete "xunit.core.2.4.1" a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
El paquete "xunit.core.2.4.1" se ha añadido a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Añadido el paquete "xunit.core.2.4.1" a "packages.config"
"xunit.core 2.4.1" ha sido instalado con éxito en su prueba de la VSE
Añadiendo el paquete "xunit.2.4.1" con solo dependencias para proyectar "itsvse-test".
El paquete "xunit.2.4.1" se está añadiendo a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
El paquete "xunit.2.4.1" se ha añadido a la carpeta "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
El paquete "xunit.2.4.1" se ha añadido a "packages.config"
"Xunit 2.4.1" se ha instalado con éxito en su prueba de la VSE
Nuget tardó 5,51 segundos en ejecutarse
Tiempo transcurrido: 00:00:07.7781544
PM>
Instala los paquetes de complementos: xunit.runner.console (omitido en este artículo) y xunit.runner.visualstudio

donde xUnit es el marco,Y xunit.runner.visualstudio es el paquete de plugins de VS, para que podamos depurar fácilmente en VS.La instalación de xunit.runner.console también puede depurarse bajo CMDPero si esto se soporta, creo que no mucha gente usará este framework; al fin y al cabo, la forma de escribir comandos reduce seriamente la calidad de Visual Studio, así que no lo explicaré aquí.

Aquí solo instalamos el paquete de plugins xunit.runner.visualstudio, hacemos clic derecho en el proyecto en el Explorador de Soluciones y seleccionamos Gestionar paquetes NuGet. Busca (e instala) un paquete llamado xunit.runner.visualstudio:



Asegúrate de que el navegador de pruebas esté visible (ve a la ventana de > de pruebas > Explorador de pruebas). Cada vez que se construye un proyecto, el runner descubre pruebas unitarias en el proyecto. Tras un periodo de descubrimiento, deberías ver una lista de pruebas descubiertas:



Edita el archivo Program y cambia el siguiente código:

Haz clic en el enlace de la ventana Ejecutar Todo y deberías ver la actualización de resultados en la ventana del Explorador de Pruebas cuando ejecutes la prueba:



Puedes hacer clic en la prueba fallida para ver el mensaje de fallo y el rastreo de pila. Puedes hacer clic en la línea de trazo de pila para ir directamente a la línea de código fallida.

(Fin)





Anterior:Despertador de Sleep Your Sister v4.6.1 Versión profesional premium de pago en chino
Próximo:Notas de estudio de C# de hoy
 Propietario| Publicado en 22/1/2019 15:19:24 |
Xunit no necesita etiquetar clases de prueba

xUnit soporta tanto propiedades [Hecho] como [Teoría]. Como puedes ver en el código, [Hecho] es similar al código de llamada real que escribimos, mientras que [Teoría] con InlineData puede probar varios conjuntos de parámetros directamente en un solo método.

 Propietario| Publicado en 22/1/2019 15:31:55 |
Pruebas de anomalías

Xunit no marca las capturas de excepciones mediante Attributes, sino que utiliza directamente la función de aserción Assert.Throws para validar excepciones.

    clase pública TestClass1
    {
        [Hecho]
        prueba de vacío público Exception()
        {
            Assert.Throws<InvalidOperationException>(() = > operación());
        }

        operación void()
        {
            lanzar nuevo InvalidOperationException();
        }
    }



Cambia el nombre del caso de prueba:

     [Hecho(Nombre de Visualización = "Prueba de Función Máxima")]



Salta los casos de prueba:

     [fact(skip="refactoring incompleto")]



Agrupación:

     [Rasgo("Grupo", "Categoría")]
 Propietario| Publicado en 22/1/2019 15:37:28 |
En muchos casos, no queremos que las pruebas unitarias afecten al contenido de la base de datos, y a veces nuestras pruebas unitarias son muy lentas debido al impacto de la base de datos, así que a menudo queremos aislar la parte de persistencia y realmente no persistimos los datos al hacer pruebas unitarias. Este tipo de aislamiento generalmente usamos abstracción, es decir, usamos interfaces o clases abstractas para aislar la capa de persistencia, y luego usamos mocks para simular las interfaces correspondientes o clases abstractas para completar las clases de persistencia correspondientes. MoQ es uno de estos frameworks de mock, MoQ usa C# 3.0, que es más sencillo de usar que NMock, y es una forma fuertemente tipada, y se puede acceder al código fuente y a dllEl inicio de sesión del hipervínculo es visible.Descargar. La última versión de MoQ es ahora la versión 3.1, y la 4.0 sigue en beta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com