【发布时间】:2014-07-28 09:35:44
【问题描述】:
假设我有这样的课程:
public class person
{
public string PersonName { get; set; }
public Car PersonCar { get; set; }
}
Car 类类似于:
public class Car
{
public bool CanStart { get; set; }
}
现在在我的测试中,我正在使用 Person 类,但我需要模拟 Person 类的 Car 成员,并且如果调用 CanStart 则始终返回 true。这可能吗?
【问题讨论】:
-
为什么要模拟这个?为什么不直接使用真正的
Car对象?我的猜测是你的真实情况有一些你没有向我们解释的相关方面。 -
你为什么不创建一个
Car的模拟,其CanStart总是返回 true,然后将你的persons(大写?)PersonCar(命名?)属性设置为那个模拟? -
或者,您可以创建自己的类
CarTest,该类派生自Car并覆盖CanStart属性。然后你可以:person.PersonCar = new CarTest()。CanStart属性当然需要是虚拟的。
标签: c# unit-testing mocking moq