Saltar al contenido

¿Cómo podemos ejecutar un método de prueba con múltiples parámetros en MSTest?

Deseamos compartirte la mejor información que hallamos en todo internet. Nuestro deseo es que te sirva de ayuda y si puedes comentarnos algo que nos pueda ayudar a mejorar hazlo libremente.

Solución:

EDITAR 4: Parece que esto se completó en MSTest V2 el 17 de junio de 2016: https://blogs.msdn.microsoft.com/visualstudioalm/2016/06/17/taking-the-mstest-framework-forward-with-mstest-v2/

Respuesta original:

Hace aproximadamente una semana, en Visual Studio 2012 Update 1, ahora es posible algo similar:

[DataTestMethod]
[DataRow(12,3,4)]
[DataRow(12,2,6)]
[DataRow(12,4,3)]
public void DivideTest(int n, int d, int q)

  Assert.AreEqual( q, n / d );

EDITAR: Parece que esto solo está disponible dentro del proyecto de prueba unitaria para WinRT / Metro. Gorrón

EDITAR 2: Los siguientes son los metadatos encontrados usando “Ir a definición” dentro de Visual Studio:

#region Assembly Microsoft.VisualStudio.TestPlatform.UnitTestFramework.dll, v11.0.0.0
// C:Program Files (x86)Microsoft SDKsWindowsv8.0ExtensionSDKsMSTestFramework11.0ReferencesCommonConfigurationneutralMicrosoft.VisualStudio.TestPlatform.UnitTestFramework.dll
#endregion

using System;

namespace Microsoft.VisualStudio.TestPlatform.UnitTestFramework

    [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
    public class DataTestMethodAttribute : TestMethodAttribute
    
        public DataTestMethodAttribute();

        public override TestResult[] Execute(ITestMethod testMethod);
    

EDITAR 3: Este problema se planteó en los foros de UserVoice de Visual Studio. Última actualización dice:

COMENZADO · El equipo de Visual Studio ADMIN El equipo de Visual Studio (Equipo de producto, Microsoft Visual Studio) respondió · 25 de abril de 2016 Gracias por los comentarios. Hemos empezado a trabajar en esto.

Pratap Lakshman Visual Studio

https://visualstudio.uservoice.com/forums/330519-team-services/suggestions/3865310-allow-use-of-datatestmethod-datarow-in-all-unit

Desafortunadamente, no es compatible con versiones anteriores de MSTest. Aparentemente, existe un modelo de extensibilidad y puede implementarlo usted mismo. Otra opción sería utilizar pruebas basadas en datos.

Sin embargo, mi opinión personal sería seguir con NUnit …

A partir de Visual Studio 2012, actualización 1, MSTest tiene una característica similar. Vea la respuesta de McAden.

Esta característica se encuentra en versión preliminar y funciona con Visual Studio 2015.

Por ejemplo:

[TestClass]
public class UnitTest1

    [TestMethod]
    [DataRow(1, 2, 2)]
    [DataRow(2, 3, 5)]
    [DataRow(3, 5, 8)]
    public void AdditionTest(int a, int b, int result)
    
        Assert.AreEqual(result, a + b);
    

Si tienes alguna incertidumbre o disposición de limar nuestro artículo eres capaz de dejar un paráfrasis y con placer lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *