2
私はmoqを試していますが、Setup()メソッドに関する質問があります。私は、次のインタフェースとクラスがあります。Setup()を使用してMoqの動作を設定する際の質問
public interface IMyInterface
{
void Print(string name);
}
public class MyClass
{
private IMyInterface my;
public MyClass(IMyInterface my)
{
this.my = my;
}
public void Print()
{
my.Print("hello world");
}
}
をそして私はNUnitのを使用して、このユニットテストを持っている:
[Test]
public void AnotherTest()
{
var mock = new Mock<IMyInterface>();
mock.Setup(m => m.Print("hello world")).AtMostOnce();
var myClass = new MyClass(mock.Object);
myClass.Print();
mock.Verify(m => m.Print("hello world"), Times.Exactly(1));
}
私は以下のラインアウトコメント解除コメント/両方に試したし、両方のテストでした成功した。私はVerify()をやっているので、Setup()が必要なのかどうか疑問です。
バージョン3.5.716.1を使用しています。
はい、私はちょうどテストが第2のquetsionに関して渡された理由を理解しました。 – Jeff
すべてのシナリオを手動で検証するのは、動作を設定するよりも明白です。VerifyAll()を実行してください。 – Jeff