C# 集成测试各种app.config文件单独通过,但同时失败

C# 集成测试各种app.config文件单独通过,但同时失败,c#,visual-studio,unit-testing,integration-testing,C#,Visual Studio,Unit Testing,Integration Testing,我有一个已编译的DLL,其中包含一个数学算法,该算法使用一个配置文件进行设置。我有几个集成测试,每个测试使用不同的配置文件并运行算法来测试各种计算。问题是,如果我运行一个测试,它就会通过。但如果我在播放列表中运行它们,或者只是选择“全部运行”,它们就会失败。计算的值不正确。似乎每次都没有替换配置文件,我不知道如何更正它。所有的输入和配置文件都设置为“始终复制”,我已经验证它们是否部署到测试目录中。 样本如下: [TestClass] public class MyTestClass { [Te

我有一个已编译的DLL,其中包含一个数学算法,该算法使用一个配置文件进行设置。我有几个集成测试,每个测试使用不同的配置文件并运行算法来测试各种计算。问题是,如果我运行一个测试,它就会通过。但如果我在播放列表中运行它们,或者只是选择“全部运行”,它们就会失败。计算的值不正确。似乎每次都没有替换配置文件,我不知道如何更正它。所有的输入和配置文件都设置为“始终复制”,我已经验证它们是否部署到测试目录中。
样本如下:

[TestClass]
public class MyTestClass
{

[TestMethod]
public void TestFunction1()
{
    // before running the test, copy the config for this test and rename it to
    // the correct name so the algorithm picks it up
    System.IO.File.Copy("DesiredConfigFile.config", "algorithm.config", true);

    RunTest();
}

[TestMethod]
public void TestFunction2()
{
    // before running the test, copy the config for this test and rename it to
    // the correct name so the algorithm picks it up
    System.IO.File.Copy("DesiredConfigFile_2.config", "algorithm.config", true);

    RunTest();
}

private void RunTest()
{
    var myInput = ReadInputFile("MyInputFile.txt");

    // when the algorithm object is created, it reads algorithm.config
    // to get some constants and whatnot needed for the math
    using (var myAlgorithm = new MyAlgorithm())
{
    // do some set-up
    var results = myAlgorithm.Compute(myInput);
    // verify results = fail
}

}

}

看起来每个测试都在复制同一个文件。这就是它们在同时运行时失败的原因。可能需要查看该资源的访问方式。不,抱歉。。。这太简单了。每个测试都有一个特定于该测试的配置文件。为了简单起见,我只是复制并粘贴了这个,但忘了更改那个部分。理解。我对复制配置文件有点困惑。为什么要将配置文件重命名为dll?如何读取配置?如果问题中的信息不准确,则很难提供帮助。提供一个可用于重现问题的。显示测试代码如何读取/使用配置文件。它是由配置管理器读取的标准配置文件,就像.NET应用程序中使用的任何其他配置文件一样。不可能给出实际的测试/算法,因为它是高度机密的专有信息。打字错误显然是我的错。但这里有足够的信息来理解这个问题。