Frage Mock einen Konstruktor mit MOQ


Ich habe eine Klasse B mit einem Konstruktorparameter der Typklasse A.

Ich möchte, dass Klasse A verspottet wird, wenn ich einen Mock für Klasse B erstelle.

Wie kann ich das machen? Ich habe versucht, MockBehavior Loose / Strict, aber das hat nicht geholfen!


9
2018-03-14 21:33


Ursprung


Antworten:


Wenn Sie Klassen verspotten, können Sie die Konstruktorargumente beim Aufruf übergeben new Mock<T>:

Also wenn du die Klassen hast:

public class A {}

public class B
{
    private readonly A a;

    public B(A a) { this.a = a; }
}

Der folgende Code erstellt einen Schein B mit einem Schein A:

var mockA = new Mock<A>();
var mockB = new Mock<B>(mockA.Object);

17
2018-03-14 21:40