【发布时间】:2018-10-03 17:34:33
【问题描述】:
internal abstract class ClassB: IInterface
{
protected void Execute();
}
abstract class ClassA : ClassB
{
public void methodToUT()
{
---logic that I want to unit test----
Execute();
}
}
我想对methodToUT() 进行单元测试。但是我无法使用 Rhino 模拟/存根 Execute(),因为它是受保护的。我尝试创建
一个实现 ClassB 并覆盖 Execute() 的辅助类,以便我可以模拟它。但是,然后我得到错误
“无效调用,已使用最后一次调用或未进行任何调用(确保您正在调用虚拟 (C#) / 可覆盖 (VB) 方法)。”
任何帮助将不胜感激。
【问题讨论】:
-
单元测试有暴露设计问题的习惯。这种方法有什么作用?是否可以将其重构为
virtual,以便在派生类中对其进行覆盖?
标签: c# rhino-mocks