如何将mock对象传递给另一个mock对象构造函数

本文关键字:mock 对象 另一个 构造函数 | 更新日期: 2023-09-27 17:58:10

    /// <summary>
    ///A test for ReverseName
    ///</summary>
    [TestMethod()]
    public void ReverseNameTest()
    {
        Mock<IEntityName> entityName = new Mock<IEntityName>();
        entityName.SetupProperty(x => x.FirstName, "John");
        entityName.SetupProperty(x => x.LastName, "T.");
        var p = new Person(entityName.Object);
        string expected = "Your reverse name is T. John"; 
        string actual;
        actual = p.ReverseName();
        Assert.AreEqual(expected, actual);
    }
}

//人员类别

  public Person(IEntityName EntityName)
    {
        this.EntityName = EntityName;
    }

是否可以在TestMehod中模拟Person类,或者我是否必须如上所述创建Person的实例?

如何将mock对象传递给另一个mock对象构造函数

是的,你可以。Rhino mock支持这一点,不确定Moq,但我认为你也可以这样做

看看这根线。将Moq模拟对象传递给构造函数

构造函数具有参数时使用Moq模拟对象