Ich habe eine Methode, der Unit-Tests in einem C#/ASP.Net-Webprojekt hinzugefügt wurden. Die Methode wurde von jemand anderem geändert, um einen Aufruf einer statischen Methode für eine Klasse einzubeziehen, die einen HttpContext umschließt (um einen Sitzungszustand hinzuzufügen), aber während des Testens habe ich keinen HttpContext, daher wird eine Nullreferenzausnahme ausgelöst. Irgendwelche Ideen, wie man dieses Problem umgehen kann? Ich möchte nicht zu viele Änderungen am Produktionscode vornehmen, wenn ich ihm helfen kann.Unit Testen einer Klasse mit einem Aufruf einer statischen Klasse, die einen HttpContext umhüllt
Methode unter Test:
public int MethodUnderTest()
{
...
// Added line which breaks the tests
StaticClass.ClearSessionState();
}
In StaticClass:
public void ClearSessionState()
{
HttpContext.Current.Session["VariableName"] = null;
}
Dies wirft ein NullReferenceException
weil HttpContext.Current
während des Testens null ist.