Pergunta

Como é que um configuração DUnit testes em um projeto de Midas / DataSnap em Delphi 2006

Editar

Como é que um configurar um teste Dunit em um TRemoteDataModule O assistente de projeto em Delphi 2006 não funciona com TRemoteDataModule

Foi útil?

Solução

A questão não inteiramente fazer sentido. Testes de unidade são realizadas em um projeto separado, e não dentro de seu servidor DataSnap. Geralmente, os testes que se conectam a um banco de dados são testes de integração em vez de testes de unidade. O que é, exatamente o que você deseja teste? Se é os métodos de utilitário dentro de, digamos, um TRemoteDataModule, você deve extrair os para fora em uma classe separada, como métodos de classe, e testá-los lá. Você não deveria ter que instanciar um servidor de aplicativos para executar testes de unidade.

Outras dicas

Sorry for a resposta concisa acima, as mensagens iPads sempre que eu atingidas retorno ao editar um post.

Dunit é projetado para executar testes de unidade, eo que você está tentando fazer não é o teste de unidade.

Um teste não é um teste de unidade se:

  • Ele fala com o banco de dados
  • Ele se comunica através da rede
  • Toca o sistema de arquivos
  • Não podem ser executados ao mesmo tempo que qualquer outro de seus testes de unidade
  • Você tem que fazer coisas especiais para o seu ambiente (tais como a edição de arquivos de configuração) para executá-lo.
  • Não pode ser executado isoladamente

Se você seguir os princípios sólidos (especialmente o princípio da responsabilidade única), utilizando Dunit para testar sua classe (sem testar a lógica relacionada Midas / DataSnap) deve ser razoavelmente simples. E realmente, você não deve precisar para testar a lógica Midas / DataSnap.

Mas há maneiras de realizar testes de integração e comportamentais em aplicações Delphi.

Pessoalmente, eu não usaria TestComplete porque não integrar-se bem com qualquer tipo de servidor de CI e os testes são armazenados em um formato binário proprietário (que faz a fusão diferenças ou manter mudanças em qualquer problemático sistema de controle de origem).

Você poderia tentar dSpec , mas não estou certo de Jody Dawkins é mantê-la mais.

Eu tenho usado o AutoIt BASIC linguagem de script diretamente em alguns projetos, e também usou sua NET montagem para conduzir uma aplicação Delphi usando NUnit e C # na outra. Embora não seja perfeito, o # solução NUnit / C era mais elegante do que qualquer coisa que eu tinha visto para a realização de aplicações Delphi teste funcional / comportamental. Ele fez demorar algum esforço para obtê-lo configuração embora.

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