Tutti i gruppi là fuori utilizzando TypeMock?Vale la pena il cartellino del prezzo pesante?[chiuso]

StackOverflow https://stackoverflow.com/questions/2376405

Domanda

Spero che questa domanda non è "controversa", sto semplicemente chiedendo - qualcuno di voi è stato acquistato TypeMock e felice (o infelice) con i risultati?

Siamo una piccola dev negozio di solo 12 gli sviluppatori tra cui il 2 dev gestori.Abbiamo utilizzando NMock finora, ma ci sono delle limitazioni.Ho fatto delle ricerche e ha iniziato a giocare con TypeMock e mi piace.È super sintassi pulita e consente, in pratica, tutto finto, che è grande per il codice legacy.

Il problema è, come faccio a giustificare il mio capo di spesa 800-1200$ per licenza per una API che ha 4-5 concorrenti che sono completamente gratis?800-1200$ è quanto Infragistrics o Telerik costo per la licenza e non sicuro come l'inferno non è 4-5 open source paragonabile UI framework...Che è il motivo per cui mi trovo un po ' eccessivo, anche se un impressionante libreria...

Eventuali pareri / esperienze sono molto apprezzate.

EDIT:dopo aver trovato MOQ ho pensato che sono caduto nell'amore fino a quando ho scoperto che non è pienamente supportato in VB.NET perché VB manca lambda sub routine =(.C'è qualcuno che utilizza MOQ per VB.NET?Il problema è che sono un misto di bellezza - è utilizzare C# per i nostri interventi di sviluppo e VB per tutto il resto.Qualsiasi guida è molto apprezzato di nuovo

Edit:hmm..Non riesco a trovare Isolare.WhenCalled() equivalen nel Moq...Qualsiasi aiuto qui?Voglio stub/mock una proprietà ReadOnly di un oggetto CONCRETO (non deriso oggetto)...Ho potuto facilmente fare questo con Isolate.WhenCalled con TM.Come con Moq???

È stato utile?

Soluzione

Il progetto a cui sto sul TypeMock per molti mesi.In realtà abbiamo appena finito completamente in maniera progressiva in favore di Moq (completamente gratuito con licenza Apache 2.0 beffardo quadro). Si dovrebbe verificare Moq se non avete visto.Oltre ad avere la più intuitiva sintassi di alcun beffardo strumento che ho visto, si ottiene i benefici di compilazione tipo di controllo.Molto bello.

TypeMock ha un vantaggio significativo sopra Moq come la vedo io.Vale a dire, è possibile finta di nulla.Questo include classi chiuse, non i metodi virtuali, calcestruzzi e praticamente qualsiasi altra cosa si può buttare a questo.Se stai facendo ASP.Net e, a seconda di come il tuo codice è strutturato, si può effettivamente fare beffardo ASP.Net codice di base per le classi di una possibilità.Abbastanza pulito.

Tuttavia - Abbiamo scoperto che, se si struttura il codice beh, i vantaggi di TypeMock non superano il prezzo.Inoltre, se non è possibile mock qualcosa con Moq, significa che c'è un odore lì.TypeMock consente di essere pigro, e penso che il codice può soffrire di conseguenza.Moq e altri beffardo di framework come è (RhinoMocks viene in mente) ti fanno pensare di codice, come la scrittura, soprattutto in termini di testabilità, ma io direi che è una buona cosa :) inoltre, il nostro team corse parecchi mal di testa cercando di distribuire TypeMock al nostro server di integrazione continua.

Lunga storia breve, TypeMock è uno strumento molto potente.Come si parla, per gli unit test vecchio codice legacy non ci sono molti prodotti migliori.Tuttavia, 1000 dollari si ottiene una TypeMock licenza, O, un paio di resharper licenze, quasi dieci TD.Net licenze, di un nuovo server di integrazione continua o molte altre cose.La mia esperienza suggerisce che non ne vale la pena, ma il vostro chilometraggio può variare.

Altri suggerimenti

+1 di Eric risposta - completamente d'accordo.

E ' simile a MSTest privato di funzioni di accesso meccanismo che c'è una possibilità molto forte, stai guardando il problema sbagliato.Se si finisce per dover utilizzare alcune tecniche McGyvery per testare qualcosa, o qualcuno sta Facendo Qualcosa di Sbagliato.

Naturalmente, la prossima cosa che viene tirata in ballo come un contrappunto è che ci sono casi in cui qualcuno ha già Fatto Qualcosa di Sbagliato (Sì, sto guardando te, SharePoint, WebForms e amici), e si ha realmente bisogno di fare un po complesso, al fine di affrontare la situazione come è adesso.

Le battaglie di combattimento come questo spesso può essere un enorme timesink che a posteriori raramente ti fa sentire bene.E ' come dire "Oooh, ho sicuramente bisogno di ottenere una qualche forma di test su questo, e l'unica cosa che va al lavoro è di automazione interfaccia utente a causa di dove siamo".Andando giù per la strada:

  • tira energia lontano da una reale soluzione al problema reale - ottenere la corretta sperimentazione tutto il senso giù di diverse forme e granularità nel tempo e di fronte al fatto che c'è un sacco di lavorare per fare e tecniche per imparare sulla strada per avere un sistema che si può sentire a proprio agio sul dato l'Eredità punto di partenza che 97.92% di progetti di start o tendono a vari stadi

  • ti lascia con una serie di "Coded UI test' che non essere felice con

Una cosa in più - MSR ha una Talpe progetto sono stati sfruttamento della prostituzione ultimamente che fa lo stesso genere di cose come TM, cioè, di runtime riscrittura via profiler ganci.Potrebbe essere utile per le persone che pensano che vogliono/bisogno di avere qualcosa nel loro arsenale come backup se mai fare veramente fuori strada con Moq in uno scenario reale che si riesce a rifattorizzare il modo e finire in un posto migliore.

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