Muchas Gracias Carlos.

 

De: puntonet@mug.org.ar [mailto:punto...@mug.org.ar] En nombre de Carlos
Peix
Enviado el: martes, 31 de agosto de 2010 22:41
Para: puntonet@mug.org.ar
Asunto: [puntonet] Re: [puntonet] RE: [puntonet] Re: [puntonet] RE:
[puntonet] Re: [puntonet] RE: [puntonet] Re: [puntonet] [puntonet] NUnit,
código común

 

Hola Carlos,

 

Que es lo que prueban todos estos casos? Que diferencias implican para el
objeto bajo prueba los diferentes archivos?

 

Si el componente no debe fallar con ninguno de ellos, por algun motivo que
no se me ocurre ahora, haria un solo test con un loop, algo asi:

 

    [TestFixture]

    class MCImageTest

    {

        private string[] fileNames;

        

        [SetUp]

        public void Init()

        {

            fileNames = new string[] { "Image01.pix", "Image02.pix", ...};

        }

 

        [Test]

        public void VerificoQueHayaAlgo()

        {

            foreach (string fileName in fileNames)

            {

                using (var m =
ImageLib.MCImageUtils.LoadImageFromRawData(fileName))

                {

                    m.Should().Not.Be.Equals(null);

                    m.Height.Should().Be.GreaterThanOrEqualTo(0);

                }

            }

        }

    }

 

Este no es un test ideal puesto que hace varios asserts y, cuando falle, va
a ser dificil saber porque pero si simplemente tiene que pasar todas las
imagenes sin mas, es lo mejor que se me ocurre.


----------------------------------
Carlos Peix

2010/8/31 Carlos Marcelo Santos <carlos.san...@mug.org.ar>

Perdón que vuelva sobre el tema. Ahora tengo una versión reducida de la
clase:

namespace MCImage.Test

{

    [TestFixture]

    class MCImageTest

    {

        private string fileName = "Image01.pix";

        private ImageLib.MCImage m;

        

        [SetUp]

        public void Init()

        {

            ActionAssert.NotThrow(() => m =
ImageLib.MCImageUtils.LoadImageFromRawData(fileName));

        }

 

        [TearDown]

        public void Dispose()

        {

            ActionAssert.NotThrow(() => m.Dispose());

        }

 

        [Test]

        public void VerificoQueHayaAlgo()

        {

            m.Should().Not.Be.Equals(null);

        }

 

        [Test]

        public void VerificoWidth()

        {

            m.Height.Should().Be.GreaterThanOrEqualTo(0);

        }

    }

}

 

Tendría que tener unas 10 o 15 clases prácticamente iguales a esta, donde
toda la variación es el string que pinté de rojo (Image01)

En la clase original tengo más de veinte variables declaradas y unos treinta
tests.

Vi que con TestCase le puedo pasar estos argumentos a los tests, pero no
encuentro cómo pasarle estos valores al Setup

¿Alguna idea?

 

Muchas Gracias.

 

Carlos Marcelo Santos.

 

Se certificó que el correo entrante no contiene virus.
Comprobada por AVG - www.avg.es
Versión: 9.0.851 / Base de datos de virus: 271.1.1/3104 - Fecha de la
versión: 08/31/10 03:34:00

Responder a