生成一个Moles Stub

时间:2011-12-19 11:04:38

标签: moles pex pex-and-moles

我是Pex和Moles的新手,我想利用参数化单元测试。我正在使用构造函数注入,我想为我的参数创建一个moles存根。

public UserLogic(IUserRepository userRepository)
{
    _userRepository = userRepository;
}

我读过的文档说Moles会为我的SIUserRepository存储库生成一个存根类型。但我无法弄清楚如何生成存根。任何人都可以提供一个例子。感谢

1 个答案:

答案 0 :(得分:0)

我假设你还没有创造出Moles装配。以下是一些基本步骤;

    单元测试项目中的
  1. ,展开引用,右键单击包含IUserRepository类型的程序集 - 选择“Add Moles Assembly”;
  2. 你现在将拥有Moles stubs&在'.Moles'命名空间下可用于该程序集的moles,所以如果你有MyAsssembly.SomeNamespace.IUserRepository,你现在将拥有一个可用作MyAssembly.SomeNameSpace.Moles.SUserRepository的存根类型
  3. 现在,在某些UserLogic_Test方法中,您可以像这样引用存根;

    [TestMethod]
    public void UserLogic_Test()
    {
        MyAssembly.SomeNameSpace.Moles.SUserRepository mock = new SUserRepository();
        UserLogic o = new UserLogic(mock);
        Assert.AreEqual(1, o.SomeMethod());
    }