Testing 模拟记录异常
我正在使用Testing 模拟记录异常,testing,mocking,rhino-mocks,Testing,Mocking,Rhino Mocks,我正在使用mock.record()并检查文件名的长度。。 测试代码为: MockRepository mock = new MockRepository(); IExtension ext = mock.StrictMock<IExtension>(); using (mock.Record()) { ext.LogError("filename not valid"); }
mock.record()
并检查文件名的长度。。
测试代码为:
MockRepository mock = new MockRepository();
IExtension ext = mock.StrictMock<IExtension>();
using (mock.Record())
{
ext.LogError("filename not valid");
}
LogAnalyser log = new LogAnalyser(ext);
string shortfilename = "jjh.df";
log.IsValid(shortfilename);
mock.Verify(ext);
请提供一些解决方案。日志错误被多次命中。添加以下内容: ext.LogError(“文件名不正确 有效“).IgnoreArguments().Repeat.Any()
我不能100%确定您是否需要日志错误被多次命中。添加以下内容: ext.LogError(“文件名不正确 有效“).IgnoreArguments().Repeat.Any()
我不能100%确定您是否需要使用StrictMock,这意味着只允许您专门设置的调用,其中包括参数值。您设置了使用以下字符串调用LogError的预期:
filename not valid
filename is short:jjh.df
但在执行过程中实际发生的是使用字符串进行调用:
filename not valid
filename is short:jjh.df
因此Rhino.Mocks提供了两个异常(一个是因为它发现了一个不期望的调用,另一个是因为没有找到期望的调用)
@Ivo使用“IgnoreArguments”的回应应该有效。如果不是,请提供有关您使用的.NET和Rhino.mock版本的更多详细信息。您使用的是StrictMock,这意味着只允许您专门设置的调用,其中包括参数值。您设置了使用以下字符串调用LogError的预期:
filename not valid
filename is short:jjh.df
但在执行过程中实际发生的是使用字符串进行调用:
filename not valid
filename is short:jjh.df
因此Rhino.Mocks提供了两个异常(一个是因为它发现了一个不期望的调用,另一个是因为没有找到期望的调用)
@Ivo使用“IgnoreArguments”的回应应该有效。如果没有,请提供有关您正在使用的.NET和Rhino.Mocks版本的更多详细信息。。IgnoreArgument不起作用。它显示错误“无法解析符号”IgnoreArgument“…IgnoreArgument不起作用。它显示错误“无法解析符号”IgnoreArgument“。。