在我的项目中,我想测试服务逻辑,这就是为什么我在我的服务中使用了模拟存储库方法(数据库调用)的原因。 但是我的服务中已经调用了一些方法。这些方法不是虚方法,甚至不在界面中调用。
根据我在单元测试中的知识,我们只能模拟虚拟方法。那我该怎么办?
实施例: 在我的服务下面代码是:
ErrorDataCaptureProcess errorDataCaptureProcess = new ErrorDataCaptureProcess(user.Id);
**errorDataCaptureProcess.UpdateErrorCaptureData();**
这是主要问题,因为errorDataCaptureProcess正在调用它的方法。我无法嘲笑。
这是我的内部调用方法,它与数据库进行交互,我不会这样做。想。
public void UpdateErrorCaptureData()
{
ErrorDataCapture.Add(Mapper.Map<ErrorDataCapture>(error));
}
我正在使用x-unit进行单元测试。
请帮助我,如果有其他方法,我该怎么办。
提前谢谢。