C#MST测试隔离

C#MST测试隔离,c#,C#,我正在使用MSTest编写调用DLL的集成测试。我需要根据测试使用不同的值加载DLL,但DLL中的值在测试运行后会保持不变 是否有一种方法来隔离每个测试,以便它们在各自的进程或堆栈中运行 新增代码: [TestClass] public class TestClass1 { [TestMethod] public void Test1() { LoadDLL(1); Assert.AreEqual(1, ReadDLL()); }

我正在使用MSTest编写调用DLL的集成测试。我需要根据测试使用不同的值加载DLL,但DLL中的值在测试运行后会保持不变

是否有一种方法来隔离每个测试,以便它们在各自的进程或堆栈中运行

新增代码:

[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的示例源吗?我不知道如何创建它,我发现的例子都是旧的,不起作用。