unit-testing 使用存根提供罐头响应
示例
存根是一种轻量级测试双,它在调用方法时提供罐装响应。如果被测类依赖于接口或基类,则可以实现符合接口的替代“存根”类进行测试。
因此,假设使用以下接口,
public interface IRecordProvider {
IEnumerable<Record> GetRecords();
}如果要测试以下方法
public bool ProcessRecord(IRecordProvider provider)
可以编写实现该接口的存根类,以将已知数据返回到要测试的方法。
public class RecordProviderStub : IRecordProvider
{
public IEnumerable<Record> GetRecords()
{
return new List<Record> {
new Record { Id = 1, Flag=false, Value="First" },
new Record { Id = 2, Flag=true, Value="Second" },
new Record { Id = 3, Flag=false, Value="Third" }
};
}
}然后可以将此存根实现提供给被测系统,以影响其性能。
var stub = new RecordProviderStub(); var processed = sut.ProcessRecord(stub);
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法