C#MST测试隔离
我正在使用MSTest编写调用DLL的集成测试。我需要根据测试使用不同的值加载DLL,但DLL中的值在测试运行后会保持不变 是否有一种方法来隔离每个测试,以便它们在各自的进程或堆栈中运行 新增代码:C#MST测试隔离,c#,C#,我正在使用MSTest编写调用DLL的集成测试。我需要根据测试使用不同的值加载DLL,但DLL中的值在测试运行后会保持不变 是否有一种方法来隔离每个测试,以便它们在各自的进程或堆栈中运行 新增代码: [TestClass] public class TestClass1 { [TestMethod] public void Test1() { LoadDLL(1); Assert.AreEqual(1, ReadDLL()); }
[TestClass]
public class TestClass1
{
[TestMethod]
public void Test1()
{
LoadDLL(1);
Assert.AreEqual(1, ReadDLL());
}
[TestMethod]
public void Test2()
{
Assert.AreEqual(1, ReadDLL());
}
}
如果首先运行Test1,则即使需要调用LoadDLL(),Test2也会通过。相反,如果Test2首先运行,它将失败
理想情况下,LoadDLL应该放在[TestInitialize()]块中。@usr1似乎appdomain不再存在于.nrt core中,您必须使用程序集加载上下文。尝试此操作,然后尝试删除上下文在没有实际代码的情况下,很难帮助您将dll加载到新的appdomain中,然后在teardown@Sentinel您有创建appdomain的示例源吗?我不知道如何创建它,我发现的例子都是旧的,不起作用。