Pergunta

Pesquisei no fórum e não encontrei pergunta semelhante.Estou procurando tomar uma decisão final sobre nossa estrutura de simulação de escolha, avançando como uma prática recomendada - decidi pelo Moq...até que descobri recentemente que a MS finalmente criou uma estrutura de simulação chamada Moles, que parece funcionar de forma semelhante ao TypeMock por meio da API do profiler sexyness etc.

Há um milhão de tópicos 'NMock vs Moq vs TypeMock vs Rhino....' aqui.Mas nunca vejo Moles envolvidos. Na verdade, eu nem sabia se existia até pouco tempo atrás.Alguém está usando?Em produção?Alguém abandonou sua antiga estrutura de zombaria e, em caso afirmativo, qual?Como ele se compara às estruturas de simulação que você usou?

obrigado..ps, estamos usando o VS2008 e mudaremos para 2010 em breve.

Foi útil?

Solução

Estou no mesmo cenário em que você está, então gostaria de comentar minhas experiências.

Tipete e toupeiras têm o objetivo de isolamento em mente. Especialmente para as classes seladas traquinas, métodos não virtuais.

Acredito que uma estrutura de isolamento, como mencionada acima, é necessária, especialmente se você estiver nas fases posteriores do desenvolvimento e/ou não tiver/pouco controle da base de código.

Essas são as vantagens no TypeMock, ainda não descobri com toupeiras

  • Suporte para ferramentas de cobertura de código (NCOVER e PartCover)
  • Suporte para interceptar / verificar nos privados (Métodos / Propriedades) [Sim, isso é controverso
  • Produto mais polido, em funcionamento rapidamente com API intuitiva (ainda mexendo com toupeiras para trabalhar corretamente)

Espero que as toupeiras amadurecem no produto liberado, mas o começo de minha mexer com ele parece não ser diferente de outros projetos de pesquisa de MS; Geralmente não polido, mas essa parece ser a natureza desses tipos de projetos.

Outras dicas

Acho que as toupeiras estão levando a zombaria para o próximo nível, é muito mais poderoso.

O que você quer dizer com 'em produção'?Moles são úteis apenas em testes unitários.Ele tem um sério impacto no desempenho e também permite código inseguro na produção (já pensou em substituir uma função IsAuthorized para retornar verdadeiro?).

As toupeiras podem ser usadas em 2008 e 2009.

espero que isso responda sua pergunta.

Moles é usado internamente na Microsoft por várias equipes de produtos.

Bem, pode ser que existem poucos problemas de rosqueamento que parecem cortar no meio, é muito difícil de reproduzir. Ele basicamente trava versus 2010 quando você tenta colocar um ponto de interrupção no processo em anexo. Isso aconteceu algumas vezes para mim não apenas em apenas uma máquina, mas depois dissipou por motivo desconhecido.

À medida que o desvio acontece, a depuração é uma dança entre o seu código e o desvio, que pode ser difícil de lidar inicialmente e, se houver exceção durante tal, é apenas difícil quebrar a exceção.

Os testes e testes gerados automaticamente- seu diamífico para entender a mensagem que eles estão tentando transmitir, IE, caso o padrão de codificação seja alterado ou algo mais, como tendo que tentar gerar teste parametrizado com base na interface, mas dependendo da classe em teste, Auuto Gen coloca Pode não ser a melhor maneira de aproveitar os testes parametrizados.

No geral, há uma curva de aprendizado e a estrutura também levará algum tempo para amadurecer. Lado positivo, o conceito é bom e o custo de manutenção (se implementado corretamente) e o tempo de resposta da equipe que apoia o PEX é realmente positivo, às vezes você recebe uma resposta útil dentro de 2 horas no fórum PEX.

Atenciosamente Yogesh Pawar

Moles e Pex são a mudança de paradigma !! É demais esperar de um Framewrk gratuito. Até agora, não me deparei com nenhum motivo para não usá -lo, a menos que você tenha uma base de código de tecnologia cruzada, mas desde que ele .NET I Moles e Pex são definitivamente a resposta !!

Se por "em produção", você quer dizer usá -lo em um produto que está sendo usado na produção, então absolutamente!

Estamos usando toupeiras para isolar a funcionalidade em nossos testes de unidade em um projeto de alto nível para empresas como Google e McDonalds. Obviamente, os testes de unidade não são executados no servidor de produção, para que os MOLES nunca sejam implantados na produção.

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