Ich lief auch in dieses Problem, obwohl mein Problem ein Threading-Problem endete. In meinem Fall habe ich das HttpContext-Objekt getäuscht, da die Tests auf seiner Existenz beruhten. Allerdings war ich dies in der ClassInitialize Methode Einstellung dieses Denken würde wie unten für jede Methode verwendet werden:
[ClassInitialize]
public static void ClassInit(TestContext testContext)
{
HttpContext.Current = new HttpContext(new HttpRequest(null, "http://tempuri.org", null), new HttpResponse(null));
}
Es stellt sich jedoch heraus, dass jede Testmethode in der Klasse in einem separaten Thread ausgeführt wird. Also musste ich diesen Code zu jeder Testmethode hinzufügen, die sich darauf verließ, um das Problem zu beheben.
[TestMethod]
public void TestMethod1()
{
HttpContext.Current = new HttpContext(new HttpRequest(null, "http://tempuri.org", null), new HttpResponse(null));
...
}
[TestMethod]
public void TestMethod2()
{
HttpContext.Current = new HttpContext(new HttpRequest(null, "http://tempuri.org", null), new HttpResponse(null));
...
}
Siehe Link für weitere Informationen zu diesem Thema. http://blogs.msdn.com/b/nnaderi/archive/2007/02/17/explaining-execution-order.aspx