ich teilweise eine Klasse bin spöttisch, die diese beiden Methoden hat:Nsubstitute Anrufe Verfahren Wenn obwohl es DoNotCallBase
public void EmitTo(string connectionId, ChatMessage message)
{
Clients.Client(connectionId).broadcastMessage(message.User.UserName, message.Message);
}
public virtual void Broadcast(ChatMessage message)
{
Clients.All.broadcastMessage(message.User.UserName, message.Message);
}
In meinem Test [SetUp]
Ich habe diese Anrufe:
hub = Substitute.ForPartsOf<ChatHub>(myMockedClient, context, groupManager);
hub.When(x => x.Broadcast(Arg.Any<ChatMessage>())).DoNotCallBase();
hub.When(x => x.EmitTo(Arg.Any<string>(), Arg.Any<ChatMessage>())).DoNotCallBase();
Ich habe Keine Probleme mit dem Broadcast
Aufruf in dieser Zeile oder später, wenn ich die Methode aufrufen (sie tun nichts wie erwartet), aber seltsamerweise löst meine dritte Zeile einen Fehler aus:
Ich bin ein bisschen verloren, da ich genau das gleiche für beide Methoden gemacht habe und ein anderes Verhalten bekommen habe, warum ruft meine When-Methode EmitTo
?
Ich war so auf den Rest konzentriert Ich vermisste die Basis, vielen Dank. – Lomithrani
Die richtige Antwort ist bereits gegeben, aber ich wollte auch einen Link zur Dokumentation für andere Benutzer hinzufügen: http://nsubstitute.github.io/help/partial-subs/ –