【发布时间】:2016-10-12 12:27:44
【问题描述】:
我正在尝试将单元测试包含到我的 Xamarin PCL 项目中。
这就是我基本上在做的事情:
登录页面类:
public bool isUserRemembered()
{
return DependencyService.Get<IUserDefaults>().getUserRemembered();
}
public void setRememberUser(bool check)
{
DependencyService.Get<IUserDefaults>().setUserRemembered(check);
}
UnitTest 类(iOS):
[Test]
public void RememberKeyTrueTest()
{
LoginPage page = new LoginPage();
bool isRemember = true;
page.setRememberUser(isRemember);
bool value = page.isUserRemembered();
if (value)
Pass();
else
Fail();
}
我在这一行得到空引用异常:DependencyService.Get<IUserDefaults>().setUserRemembered(check)。
依赖服务是否可以与单元测试一起使用?或者有什么解决办法吗?
【问题讨论】:
-
您需要配置服务吗?在任何情况下,在逻辑代码中进行依赖解析都不是一个好主意,你应该在构造过程中注入依赖,这在测试中也变得更易于管理。不再需要在所有测试中“记住”维护的隐藏依赖项。
标签: c# unit-testing xamarin xamarin.ios