3. 帮助文档
商业版和免费版区别概览

MockingContainer
测试类准备:一般来说也是业务类
public class ClassUnderTest
{
private IFirstDependency firstDep;
private ISecondDependency secondDep;
public ClassUnderTest(IFirstDependency first, ISecondDependency second)
{
this.firstDep = first;
this.secondDep = second;
}
public IList<object> CollectionMethod()
{
var firstCollection = firstDep.GetList();
return firstCollection;
}
public string StringMethod()
{
var secondString = secondDep.GetString();
return secondString;
}
}
public interface IFirstDependency
{
IList<object> GetList();
}
public interface ISecondDependency
{
string GetString();
}
单元测试
[TestMethod]
public void ShouldMockDependenciesWithContainer()
{
// ARRANGE
// Creating a MockingContainer of ClassUnderTest.
// To instantiate the system uder test (the container) you should use the Instance property
// For example: container.Instance.
var container = new MockingContainer<ClassUnderTest>();
string expectedString = "Test";
// Arranging: When the GetString() method from the ISecondDependecy interface
// is called from the container, it should return expectedString.
container.Arrange<ISecondDependency>(
secondDep => secondDep.GetString()).Returns(expectedString);
// ACT - Calling SringMethod() from the mocked instance of ClassUnderTest
var actualString = container.Instance.StringMethod();
// ASSERT
Assert.AreEqual(expectedString, actualString);
}
需要说明的是MockingContainer构造函数有一个可选参数AutoMockSettings,其中AutoMockSettings最主要的一个作用的是当ClassUnderTest有多个构造函数时,指定合适的构造函数来实例化对象
当业务类中有一个无参构造函数,一个有参构造函数,在没有设置AutoMockSettings的情况下会默认执行无参构造函数,
可以像下面这样来指定需要的构造函数
AutoMockSettings settings = new AutoMockSettings
{
ConstructorArgTypes = new Type[]{
typeof(IFirstDependency),typeof(ISecondDependency)
}
};
// ARRANGE
// Creating a MockingContainer of ClassUnderTest.
// To instantiate the system uder test (the container) you should use the Instance property
// For example: container.Instance.
var container = new MockingContainer<ClassUnderTest>(settings);
JustMock Lite (Free Mocking Framework For .net)
原文:http://www.cnblogs.com/LittleFeiHu/p/4456843.html