我正在尝试使用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的构造函数,以便对它进行模拟,但是似乎由于单元测试而要更改设计。