Quando ho iniziato a utilizzare Microsoft Fakes, ero entusiasta di iniziare a modificare alcuni metodi .NET. Ero portato a credere che sarei stato in grado di shimare QUALSIASI metodo .NET, statico o meno: http://msdn.microsoft.com/en-us/library/hh549176.aspx.Gli shim non vengono generati per i metodi .NET
Tuttavia, ho cercato di ridurre alcuni dei metodi in TcpClient e vengono creati solo stub, il che non mi fa bene, poiché voglio essere in grado di modificare alcuni metodi per restituire i miei dati piuttosto che a seconda di un TcpClient attivo per darmi dati.
Sono aperto a qualsiasi suggerimento su come farlo se c'è un altro modo oltre Microsoft Fakes.
EDIT: Aggiunta di codice per dimostrare il problema
[TestMethod]
public void CommunicationTest()
{
var stubbedTcpClient = new System.Net.Sockets.Fakes.StubTcpClient
{
};
//No such ShimTcpClient exists
var shimmedTcpClient = new System.Net.Sockets.Fakes.ShimTcpClient
{
};
}
Puoi condividere il tuo codice? O almeno abbastanza per dimostrare il problema? –
Ho aggiunto il codice shim TcpClient che spero di generare –
Che metodo stai provando a shimare? Se è virtuale puoi usare [NSubstitute] (http://nsubstitute.github.io/), se non sei bloccato usando Fakes. –