gpt4 book ai didi

c# - Rhino Mocks 在 Debug模式下表现出不同的行为

转载 作者:太空狗 更新时间:2023-10-29 22:54:11 26 4
gpt4 key购买 nike

我遇到一个问题,当我运行 单元测试时,一个简单的 Rhino Mock stub 方法可以很好地工作,但会抛出异常无法创建密封类的模拟 当在 debug 模式下执行时。我尝试用 Return 方法替换 Do,但这并没有改变行为。

在 Rhino Mocks 3.6 中使用 C#,对于在单元测试中使用 Add 函数减法冒犯了任何人表示歉意;)

界面

public interface ICalculator
{
int Add(int value, int value2);
}

public class Calculator : ICalculator
{
public int Add(int value, int value2)
{
return value + value2;
}
}

public class Sums
{
private ICalculator calculator;

public Sums(ICalculator calculatorArg)
{
calculator = calculatorArg;
}

public int Add(int value, int value2)
{
return calculator.Add(value, value2);
}
}

单元测试

[TestMethod()]
public void AddTest()
{
//ARRANGE
var calculatorArg = MockRepository.GenerateMock<ICalculator>();

Func<int, int, int> subtract = delegate(int valueArg, int value2Arg)
{
return valueArg - value2Arg;
};
calculatorArg.Stub(x => x.Add(-1,-1)).IgnoreArguments().Do(subtract);

Sums target = new Sums(calculatorArg);

int value = 5;
int value2 = 3;
int expected = 2;

//ACT
int actual = target.Add(value, value2);

//ASSERT
Assert.AreEqual(expected, actual);
}

最佳答案

刚遇到这个问题。我删除了隐藏的 .suo 文件,果然它起作用了。

那时我意识到通过删除设置异常捕获选项也被删除了。它不会因任何异常而停止。重新启用“调试”->“异常...”中的选项使错误重新出现。

然而,这是一个第一次机会异常,因此一个简单的 F5(继续)将越过它,代码实际上按预期运行。

所以简而言之,删除suo文件的解决方案,就是重置设置,从而忽略异常。

关于c# - Rhino Mocks 在 Debug模式下表现出不同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7815218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com