我在测试我的一门课程时遇到了一些麻烦。我有一个抽象类,其中包含一个公共方法和两个受保护的抽象。我需要测试一次天气公共方法调用的抽象之一。
下面是我的代码的示例:
public abstract class A
{
public string DoSomething(stirng input)
{
var output = new StringBuilder();
foreach (var currentChar in input)
{
output.Append(DoSomethingElse(currentChar));
}
return output.ToString();
}
protected abstract char DoSomethingElse(char charToChange);
}
public class B : A
{
protected override char DoSomethingElse(char charToChange)
{
var changedChar = charToChange;
// Some logic changing charToChange's value
return changedChar;
}
}
因为DoSomethingElse()
受保护我创建了一个发布该方法的类
public class BPublisher : B
{
public virtual new char DoSomethingElse()
{
return base.DoSomethingElse()
}
}
我的问题是如何测试使用 Rhino 模拟DoSomething()
调用的事实?DoSomethingElse()
PS我试过使用Expect
但AssertWasCalled
没有成功。