【发布时间】:2014-01-02 01:16:52
【问题描述】:
我想用 mock 测试我的方法,但它抛出了这个异常。我的课是这样的(这个类对文件执行一些简单的操作,就像解压缩文件一样):
public class FileActions
{
public virtual void Decompress(FileInfo fileInfo, DirectoryInfo directoryInfo)
{
ZipFile.ExtractToDirectory(fileInfo.FullName, directoryInfo.FullName);
}
public virtual FileInfo GetConvertedFileToZip(FileInfo fileInfo)
{
try
{
var changeExtension = Path.ChangeExtension(fileInfo.FullName, "zip");
File.Move(fileInfo.FullName, changeExtension);
return new FileInfo(changeExtension);
}
catch (Exception)
{
throw new FileNotFoundException();
}
}
}
这是我的测试:
public void TestMockedMethodForNotNull()
{
var mock = new Mock<FileActions>();
var fInfo = new FileInfo(@"D:\ZipFiles\elmah.nupkg");
mock.Setup(s => s.GetConvertedFileToZip(fInfo)).Verifiable();
mock.VerifyAll();
}
那么,为什么会出现这个错误:
Moq.MockVerificationException:以下设置不匹配: FileActions2 s => s.GetConvertedFileToZip(D:\ZipFiles\elmah.nupkg)
【问题讨论】:
-
你类哪个mock是“FileActions”,什么是“FileActions2”?
-
是的,但这是我写问题时的错误。这不重要。那么,为什么会出现此错误?
-
谢谢,是的,意识到这是错误的 :) 在下面回答了您的问题。
标签: unit-testing testing mocking moq