想象一下,我们有以下代码
public class test
{
public void Condition(x,y)
{
if (x == y)
{
methodOne();
}
else
{
methodTwo();
}
}
public void methodOne(){//do some database stuff}
public void methodTwo(){//do some database stuff}
}
我想断言,如果在 x==y 时调用了methodone,但不希望我的测试在我的方法一中执行代码,因为它会做一些数据库的东西......
我正在写这样的东西
MockRepository mockRepository=new MockRepository();
var Mock = mockRepository.PartialMock<test>();
mock.Replay();
mock.condition(1,1);
mock.AssertWasCalled(x=>x.methodOne);
mock.VerifyAllExpectations();
但它也尝试运行方法一中的东西,我不希望我的测试进行数据库连接,我只需要确保我的条件正常工作并且它是否调用。