Ich habe einen WCF-Client, wo ich Daten über OData bekomme. Ich möchte Einheit meines Client testen und bereits eine Schnittstelle für die Dataservicecontext gemacht:C# WCF Testing EntityDescriptor
internal interface ODataServiceContext
{
DataServiceResponse SaveChanges(SaveChangesOptions options);
ReadOnlyCollection<LinkDescriptor> Links { get; }
...
}
Für meinen Test zur Zeit ich brauche zu fälschen die Links
Eigenschaft. Ich muss mindestens einen LinkDescriptor zurückgeben. Hat jemand eine Idee, wie man das erreicht?
Vorerst verwende ich NSubstitute für fälschen die Schnittstelle:
var context = Substitute.For<ODataServiceContext>();
var list = new List<LinkDescriptor>();
var links = new ReadOnlyCollection<LinkDescriptor>(list);
context.Links.Returns(links);
Das für den Test gegen eine leere Links
Eigenschaft funktioniert. Aber wie kann ich einen Link-Deskriptor zur Sammlung hinzufügen, da die Klasse LinkDescriptor keinen öffentlichen Konstruktor hat und versiegelt ist?
Vergessen Sie nicht, dies als Antwort zu markieren! –
Das System zwingt mich, zwei Tage zu warten, bevor ich eine eigene Antwort ankreuze. – scher