Я пытаюсь включить модульное тестирование в проект Xamarin PCL.Служба зависимостей Null Исключение ссылки в модульном тестировании
Это то, что я в основном делаю:
класс Войти Страница:
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();
}
Я получаю нулевой ссылки Exception на этой линии: DependencyService.Get<IUserDefaults>().setUserRemembered(check)
,
Будет ли работать служба зависимостей с модульным тестированием? Или вокруг есть какая-то работа?
Нужно настроить службы? В любом случае неплохо было бы сделать разрешение зависимостей внутри логического кода, вы должны вместо этого вводить зависимости во время строительства, это также становится намного более управляемым в тестах. Нет более скрытых зависимостей, которые вы должны «помнить» для поддержания во всех ваших тестах. –
[Unit testing with Xamarin.Forms 'DependencyService] (http://arteksoftware.com/unit-testing-with-xamarin-forms-dependencyservice/) - это [только Google в любом месте] (https://www.google. co.uk/search?q=DependencyService+unit+tests) – stuartd