从带有存根的接口设置属性
本文关键字:接口 设置 属性 存根 | 更新日期: 2023-09-27 18:16:33
我正在创建一个存根接口,并将其传递给我的测试方法,如下所示。我对传入测试方法的接口(StubISeries)进行存根处理。如果comparisonSeries.Key
只是接口中的get,是否可以在stub中设置该值,而不给接口添加set属性?
var series = new SomeNameSpace.Fakes.StubISeries();
series.Key = something to set the key here?
DateTime date = formReport.ResolveDate(series, DateTime.Now);
public override DateTime ResolveDate(ISeries comparisonSeries, DateTime targetDate)
{
switch (comparisonSeries.Key)
{
case SeriesKey.SomeKey1:
case SeriesKey.SomeKey2:
case SeriesKey.SomeKey3:
case SeriesKey.SomeKey4:
case SeriesKey.SomeKey5:
return DateHelper.PreviousOrCurrentQuarterEnd(targetDate);
default:
break;
}
return base.ResolveDate(comparisonSeries, targetDate);
}
给定ISeries
接口和SeriesKey
的定义
public enum SeriesKey
{
SomeKey1,
SomeKey2,
SomeKey3
}
public interface ISeries
{
SeriesKey Key { get; }
}
您可以使用Fakes生成的StubISeries编写以下测试。
[TestMethod]
public void MyTestMethod()
{
var stub = new StubISeries();
stub.KeyGet = () => SeriesKey.SomeKey1;
Assert.AreEqual(SeriesKey.SomeKey1, ((ISeries)stub).Key);
}