下面是一个如何用JustMock模拟一个抽象方法的例子:
公共
摘要
类
形状
{
公共
双
X {
得到
;
集
;}
公共
双
Y {
得到
;
集
;}
公共
摘要
双
CalculateArea ();
}
...
(TestMethod)
公共
无效
MockAbstractMethod ()
{
/ /安排
形状shapeMock = Mock.Create<形状>();
Mock.Arrange(() => shapeMock.CalculateArea()).Returns(42);
/ /行为
双
actualResult = shapeMock.CalculateArea();
/ /维护
断言。AreEqual(42岁,actualResult);
}
公共
摘要
类
形状
{
公共
双
X {
得到
;
集
;}
公共
双
Y {
得到
;
集
;}
公共
虚拟
双
CalculateArea ()
{
返回
X * y;
}
}
...
(TestMethod)
公共
无效
MockAbstractMethod ()
{
/ /安排
形状shapeMock = Mock.Create<形状>();
Mock.Arrange(() => shapeMock.CalculateArea()).Returns(42);
/ /行为
双
actualResult = shapeMock.CalculateArea();
/ /维护
断言。AreEqual(42岁,actualResult);
}
公共
接口
IFoo
{
int
值{
得到
;
集
;}
}
...
(TestMethod)
公共
无效
ShouldFakePropertyGet ()
{
/ /安排
var foo = Mock.Create();
Mock.Arrange(() => foo.Value).Returns(25);
/ /行为
var actual = foo.Value;
/ /维护
断言。AreEqual(25、实际);
}
(TestMethod)
公共
无效
ShouldAssertPropertySet ()
{
/ /安排
var foo = Mock.Create();
Mock.ArrangeSet(() => foo。Value = 1);
/ /行为
foo。Value = 1;
/ /维护
Mock.AssertSet(() => foo。Value = 1);
}