如何模拟在单元测试中您无权访问的依赖项?

时间:2019-07-19 23:53:56

标签: c# unit-testing mocking

我正在尝试使用C#进行一些基本的单元测试。我知道我们可以使用模拟对象来隔离我们要测试的对象。但是,如果我无权访问依赖项,该怎么办?

现在,当我进行单元测试时,如何确保myObject在所有情况下都可以正常工作?

请参见下面的代码示例:

public class myObject
{
public myObject()
{

}

public string getWeather()
{
    if (WeatherService.GetCurrentWeather() == "sunny")
    {
        return a;
    }
    else
    {
        return b;
    }
}
}

TestClass:

public void TestMyObject()
{
    //how to test both scenario???
}

如何确保myObject在两种情况下均正常工作?

现在很明显,我可以创建一个带有weatherService的构造函数,以便对它进行模拟,但是似乎由于单元测试而要更改设计。

0 个答案:

没有答案