Ich versuche Unit-Tests in mein Xamarin PCL-Projekt einzubeziehen.Abhängigkeitsdienst Null Referenzausnahme im Komponententest
Dies ist, was ich im Grunde tue:
Login Seite Klasse:
public bool isUserRemembered()
{
return DependencyService.Get<IUserDefaults>().getUserRemembered();
}
public void setRememberUser(bool check)
{
DependencyService.Get<IUserDefaults>().setUserRemembered(check);
}
Unittest-Klasse (iOS):
[Test]
public void RememberKeyTrueTest()
{
LoginPage page = new LoginPage();
bool isRemember = true;
page.setRememberUser(isRemember);
bool value = page.isUserRemembered();
if (value)
Pass();
else
Fail();
}
I Null Reference Ausnahme auf dieser Linie erhalten: DependencyService.Get<IUserDefaults>().setUserRemembered(check)
.
Funktioniert der Abhängigkeitsdienst mit Komponententests? Oder gibt es Arbeit um ihn herum?
Müssen Sie die Dienste konfigurieren? In jedem Fall ist es keine gute Idee, die Abhängigkeitsauflösung in Logikcode zu machen, stattdessen sollten Sie die Abhängigkeiten während der Konstruktion einfügen, dies wird auch in Tests viel einfacher zu handhaben. Keine versteckten Abhängigkeiten mehr, an die Sie sich in all Ihren Tests "erinnern" müssen. –
[Komponententest mit Xamarin.Forms 'DependencyService] (http://arteksoftware.com/unit-testing-with-xamarin-forms-dependencyservice/) ist [nur ein Google-Konto entfernt] (https://www.google. co.uk/search?q=DependencyService+unit+tests) – stuartd