如何模拟单元测试中没有setter的属性?

时间:2014-11-07 16:48:22

标签: c# unit-testing windows-store-apps windows-phone-8.1

我正在尝试为我的通用应用程序进行单元测试,并且正在寻找一种方法来测试使用Geocoordinate类的函数。

假设您有以下功能(当然,在我的情况下包含更多逻辑):

public int GetAccuracy(Geocoordinate coord) {
    return coord.Accuracy;
}

我如何进行单元测试?我可以创建一个Geocoordinate对象,但我无法在单元测试方法中设置AccuracyAccuracy和其他属性(如纬度和长度)只有一个吸气剂。

有一种简单的方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我会为Geocoordinate创建自己的抽象接口,并将接口的实例传递给GetAccuracy方法。您的应用程序将使用仅包装Geocoordinate实例的实现,而您的单元测试将创建该界面的模拟版本。