公共
类
喷火
{
私人
无效
DoPrivate ()
{
扔
新
NotImplementedException ();
}
}
...
(TestMethod)
公共
无效
ShouldInvokeNonPublicMemberWithMatcher ()
{
Foo Foo =
新
Foo ();
int
期望= 1;
/ /安排
Mock.NonPublic.Arrange <
int
> (foo,
“PrivateEcho”
, Arg.Expr.IsAny <
int
> ()) .Returns(预期);
/ /行为
int
实际= foo.Echo(5);
/ /维护
断言。AreEqual(预期,实际);
}
公共
类
喷火
{
私人
int
PrivateEcho (
int
arg)
{
返回
参数;
}
公共
int
回声(
int
arg)
{
返回
PrivateEcho (arg);
}
}
...
(TestMethod)
公共
无效
Echo_OnExecute_ShouldReturnTheExpectationsForPrivateEcho ()
{
Var期望= 1;
Foo Foo =
新
Foo ();
//当非公共函数PrivateEcho()从foo实例调用时,带有任何整数参数,
//它应该返回期望的整数。
Mock.NonPublic.Arrange <
int
> (foo,
“PrivateEcho”
, ArgExpr。IsAny <
int
> ()) .Returns(预期);
/ /行为
int
实际= foo.Echo(5);
// Echo调用私有方法PrivateEcho
/ /维护
断言。AreEqual(预期,实际);
}
公共
类
喷火
{
私人
静态
int
PrivateStaticProperty {
得到
;
集
;}
}
...
(TestMethod)
公共
无效
ShouldMockPrivateStaticProperty ()
{
Var期望= 10;
/ /安排
Foo Foo =
新
Foo ();
Mock.NonPublic.Arrange <
int
> (
typeof
(Foo),
“PrivateStaticProperty”
) .Returns(预期);
/ /行为
int
actual = foo.GetMyPrivateStaticProperty();
/ /维护
断言。AreEqual(预期,实际);
}