Pergunta

Estou uso c # e para testes de unidade e integração testando normalmente eu preciso para preencher campos automaticamente com base em atributos.

Vamos dizer que vamos testar se podemos escrever e receber de volta os dados do usuário ao banco de dados.

  • eu crio um campo objeto de usuário Preencher escrever usuário ao banco de dados
  • Leia utilizador objeto de banco de dados
  • Verifique campos, se o que eu escrevo é o mesmo que o que eu li

Existe alguma estrutura para o usuário preencher com dados de teste automaticamente e verifique se o objeto de dois são têm os mesmos valores?

O código de exemplo pode gostar deste

User user = new User();
AutoPopulator.Populate(user);
user.Save();
Foi útil?

Solução

Dê uma olhada NBuilder . Ele permite que você crie objetos de teste com dados aleatórios, valores incrementando, e qualquer coisa que você provavelmente pode pensar. Tudo através de uma interface fluente agradável.

Outras dicas

Você pode achar que é relevante. Aqui está uma lista de algumas outras estruturas a partir de hoje:

Bem conhecido e respeitado:

Pouco conhecido:

Unfamiliar:

Sim, existe. Eu encontrei esta sessão quando assistindo # 3 da série do Verão de NHibernate por Stephen Bohlen .

Sua empresa, a Microdesk , desenvolveu um utilitário que lhe permitirá salvar o estado de um banco de dados na construção instalação de ensaio, definir o estado do banco de dados no início de cada teste, e recuperar o estado original do banco de dados sobre a desconstrução suporte de ensaio.

Baixe o utilitário aqui: Microdesk.Utility.UnitTest

Para um tutorial sobre como usá-lo, assistir ao Verão de NHibernate sessão # 3 vídeo.

Fluent NHibernate tem uma característica que lhe dá tudo em sua lista de desejos, exceto a parte auto-população:

Link: http://wiki.fluentnhibernate.org/Persistence_specification_testing

No entanto, dado C # com contratos de código, não seria muito difícil de auto-magicamente criar objetos válidos se usando reflexão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top