【发布时间】:2013-02-06 14:24:29
【问题描述】:
我在测试我的一门课程时遇到了一些麻烦。 我有一个抽象类,其中包含一个公共方法和两个受保护的抽象。 我需要测试一次天气公共方法调用的抽象之一。
这是我的代码的示例:
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()
}
}
我的问题是如何测试 DoSomething() 调用 DoSomethingElse() 的事实
犀牛嘲讽?
附:我曾尝试使用Expect 和AssertWasCalled,但没有成功。
【问题讨论】:
标签: c# unit-testing rhino-mocks