Welcome to GASP Sign in | Join | Help

Paulo Morgado

Tudo sobre Arquitectura de Software
Usando Valores Aleatórios Para Testes Unitários

Quando escrevo os meus testes unitários não gosto de usar valores fixos no código porque ou acabo por usar sempre os mesmos valores ou, por causa disso, os testes podem passar por coincidência.

Com o passar do tempo, desenvolvi uma classe utilitária para gerar valores aleatórios para usar em testes unitários.

namespace PauloMorgado.VisualStudio.TestTools.UnitTesting
{
    public static class RandomGenerator
    {
        public static bool Boolean();
        public static string String();
        public static string String(string prefix);
        public static short Int8();
        public static short Int8(short maxValue);
        public static short Int8(short minValue, short maxValue);
        public static short Int16();
        public static short Int16(short maxValue);
        public static short Int16(short minValue, short maxValue);
        public static int Int32();
        public static int Int32(int maxValue);
        public static int Int32(int minValue, int maxValue);
        public static TEnum Enum<TEnum>();
        public static TEnum EnumFlagsWith<TEnum>(TEnum flagsToAdd);
        public static TEnum EnumFlagsWithout<TEnum>(TEnum flagsToRemove);
        public static TEnum Enum<TEnum>(int maxValue);
        public static TEnum Enum<TEnum>(int minValue, int maxValue);
        public static System.Guid Guid();
    }
}

Isto é algo que eu gostaria de ver em plataformas de mocks (como Typemock Isolator, Rhino.Mocks ou MoQ).

Ainda é um trabalho em curso, mas se quiserem testar, está na minha MSDN Code Gallery: Random Generator For Unit Testing

Posted: Tuesday, June 24, 2008 12:52 AM by Paulo Morgado

Comments

Hugo Batista said:

da uma vista de olhos nisto: http://research.microsoft.com/pex/

UA

HB

# June 26, 2008 10:22 AM

Paulo Morgado said:

On a previous post I introduced a library for generating random values for purposes of unit testing.

# June 30, 2008 12:40 AM

Paulo Morgado said:

Numa entrada anterior mencionei a minha biblioteca para geração de valores aleatórios para efeitos de

# June 30, 2008 1:38 AM
Leave a Comment

(required) 

(required) 

(optional)

(required) 

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS