我有一个IEmployee接口,但还没有可用的实现。当多个开发人员在同一个模块上工作时,就会发生这种情况。现在,我正在编写一个集成测试来测试我的更改,并且需要一个Iemployee接口的模拟,但是当该方法在程序集dll中可用时,我的测试应该调用原始实现。我可以创建类的实例
接口:
public interface IEmployee
{
bool IsWorkingOnDate();
SendNotificationPreference();
}
实例:
Type ob = Assembly.Load("MockUtility").GetType(string.Format("MockUtility.Employee");
var Emp = (IEmployee)Activator.CreateInstance(ob);
嘲弄:
var bobMock = new Moq.Mock<IEmployee>();
bobMock.Setup(x => x.IsWorkingOnDate())
.Returns(value);
bobMock.Setup(x => x.SendNotificationPreference());
当原始实现还不可用时,如何使用上述模拟调用原始实现中的方法。
sennotificationPreference方法返回空值。
注意:我将为模拟实现和实际实现编写测试,只有当实际实现可用时才调用它。