Domanda

Ho cercato nel forum e non ho trovato una domanda simile.Sto cercando di prendere una decisione finale sul nostro quadro di scelta beffardo che andrà avanti come migliore pratica: ho deciso per Moq...fino a quando ho scoperto di recente che MS ha finalmente creato un framework beffardo chiamato Moles che sembra funzionare in modo simile a TypeMock tramite l'API del profiler sexyness ecc.

Ci sono un milione di discussioni "NMock vs Moq vs TypeMock vs Rhino...." qui.Ma non ho mai visto Talpe coinvolta. Anzi, fino a poco tempo fa non sapevo nemmeno se esistesse.Qualcuno lo usa?In produzione?Qualcuno scarica il suo vecchio framework beffardo e, se sì, quale?Come si è comportato rispetto ai framework beffardi che hai utilizzato?

Grazie..ps, stiamo utilizzando VS2008 e passeremo al 2010 a breve.

È stato utile?

Soluzione

Sono nella tua stessa situazione, quindi vorrei commentare le mie esperienze.

Sia Typemock che Moles hanno in mente l'obiettivo dell'isolamento.Soprattutto per quelle fastidiose classi sigillate, metodi non virtuali.

Credo che un framework di isolamento, come quelli menzionati sopra, sia necessario soprattutto se ci si trova nelle fasi successive di sviluppo e/o non si ha alcun/scarso controllo del codice base.

Questi sono i vantaggi di Typemock che con Moles non li ho ancora scoperti

  • Supporto per strumenti di copertura del codice (Ncover e Partcover)
  • Supporto per intercettare/verificare i privati ​​(metodi/proprietà) [sì, questo è controverso]
  • Prodotto più raffinato, installato e funzionante velocemente con API intuitive (ancora in difficoltà con Moles anche per funzionare correttamente)

Spero che Moles maturi e diventi un prodotto rilasciato, ma l'inizio del mio armeggiare con esso non sembra essere diverso da altri progetti di ricerca sulla SM;di solito rozzo, ma sembra essere la natura di quel tipo di progetti.

Altri suggerimenti

Credo che le talpe stanno prendendo beffardo al livello successivo, è molto più potente.

Che cosa si intende per 'produzione' ?. Talpe sono utili solo in unit test. Esso ha un grave impatto sulle prestazioni e permette anche il codice non sicuro della produzione (mai pensato di sostituire una funzione IsAuthorized per tornare vero?).

Le talpe sono utilizzabili sia nel 2008 e nel 2009.

Spero che questo risponde alla tua domanda.

Moles viene utilizzato internamente da Microsoft da diversi team di prodotto.

Bene, può essere, ci sono alcuni problemi di threading che sembrano ritagliare in mezzo, la sua molto difficile a Repro. Si blocca sostanzialmente VS 2010, quando ancora di provare a mettere un punto di interruzione nel processo collegato. E 'accaduto alcune volte per me non solo su una sola macchina, ma poi dissappeared per motivi sconosciuti.

Come la deviazione avviene debug è una danza tra il codice e deviazione che potrebbe essere difficile far fronte con inizialmente e se ci fa eccezione durante tale poi il suo solo difficile da rompere sull'eccezione.

L'auto test generati e PUTs- sua diificult di cogliere ciò che messaggio che stanno cercando di trasmettere cioè se il modello di codifica essere modificata o qualcos'altro, anche se tenta di generare prova parametrizzata sulla base di interfaccia, ma a seconda della classe in prova, PUT auuto gen potrebbero non essere i migliori test parametrizzati modo leva.

In generale, c'è una curva di apprendimento più il quadro sarà anche prendere un po 'di tempo per maturare. Il lato positivo, il concetto è buono e il costo maintaince (se attuato correttamente) e il tempo di risposta da parte del team di supporto PEX è molto positiva, a volte si ottiene risposta utile entro 2 ore sul forum PEX.

Con i migliori saluti Yogesh Pawar

Moles e Pex è cambiamento di paradigma !! la sua troppo da aspettare da un frameowrk gratuito. Finora non ho incontrato alcun motivo per non usarlo a meno che non si dispone di codice di base della tecnologia croce, ma fintanto che .NET I talpe e Pex è sicuramente la risposta !!

Se per "in produzione" intendi usarlo su un prodotto che viene utilizzato nella produzione di allora assolutamente!

Stiamo usando Moles per isolare la funzionalità nei nostri test di unità su un progetto di altissimo profilo per le aziende come Google e McDonalds. Naturalmente, unit test non vengono eseguiti sul server di produzione in modo da talpe è mai schierato in produzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top