NET 4 rende per una migliore unità di testing / beffarda grazie alla capacità di patch di scimmia?

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

Domanda

Considerate questo circa l'attuazione up-coming ironpython .

In teoria permetterebbe scimmia patch giusto? Buono o cattivo, non importa. qualcun altro dato di codice non verificabile (almeno facilmente) la parola chiave dinamica permetterebbe patch sarebbe è vero? Questo ha un grande potenziale per C # e VB, se sto leggendo bene.

Quali sono i pensieri su questo?

È stato utile?

Soluzione

Il supporto tipo dinamico in .Net 4 in realtà non vi darà pieno supporto scimmia-patching in tutto il sistema tipo CLR. Essa vi darà un altro modo per prendere in giro gli oggetti, ma ad essere sinceri l'attuale modo è abbondanza buono (vedi moq: http://code.google.com/p/moq/ )

Con i tipi dinamici, si perde intellisense, quindi un argomento potrebbe essere fatto che non è consigliabile dinamico per beffardo.

Lo stile di intercettazione IronPython vi permetterà di concludere un oggetto esistente con il proprio comportamento desiderato, ma non vi permetterà di dire al quadro, per rattoppare tutti gli oggetti Foo (da questo punto in poi) in modo metodo Bar chiamerà Bar2 invece di Bar.

Tenete a mente, con IronRuby e IronPython ci sono 2 sistemi di tipo separati in gioco, c'è il sottostante sistema di tipo CLR e il sistema di tipo IronRuby / IronPython, quando chiamano fuori per il codice C # c'è marshalling succedendo. Così, anche se IronRuby / IronPython può correttamente scimmia rattoppare il proprio sistema di tipo, non possono utilizzare lo stesso meccanismo per rattoppare il sistema di tipi CLR.

Se si vuole scimmia patch è necessario corretta intercettazioni e che è difficile : intercettazione dinamica delle chiamate in .NET

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