![](/img/trans.png)
[英]Why is moq claiming my mock's property setter is never being called even though the code is calling it?
[英]Why is JustMock claiming my mocked method is never getting called?
我的应用程序中包含以下代码:
public class DirectoryCrawler
{
private IPathWrap _path;
private IDirectoryWrap _directory;
private ITrackedFileStore _trackedFileStore;
private IFileWrap _file;
public DirectoryCrawler(IPathWrap path, ITrackedFileStore trackedFileStore, IDirectoryWrap directory, IFileWrap file)
{
_path = path;
_trackedFileStore = trackedFileStore;
_directory = directory;
_file = file;
}
public void CheckDirectoryContents(string baseDirectory)
{
var trackedFiles = _trackedFileStore.GetTrackedFilesInPath(baseDirectory);
}
}
我正在通过以下方式进行单元测试:
[TestClass]
public class DirectoryCrawlerTests
{
private MockingContainer<DirectoryCrawler> _mockContainer;
[TestInitialize]
public void Setup()
{
_mockContainer = new MockingContainer<DirectoryCrawler>();
}
[TestMethod]
public void Requests_Tracked_Files_In_Path()
{
var instance = _mockContainer.Instance;
instance.CheckDirectoryContents("C:\\Test");
_mockContainer.Assert<ITrackedFileStore>(x => x.GetTrackedFilesInPath(Arg.IsAny<string>()), Occurs.Once());
}
}
但是,断言未能声明Result Message: Occurrence expectation failed. Expected exactly 1 call. Calls so far: 0
Result Message: Occurrence expectation failed. Expected exactly 1 call. Calls so far: 0
为什么JustMock无法正确检测到发生? 这是最新的JustMock lite Nuget软件包(2014.1.1317.4)
如评论中所述,使用自动模拟时,呼叫验证是不同的。
您必须Arrange
要调用的自动模拟依赖方法,并使用MustBeCalled()
指定它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.