c# – MSTest中runsettings和testsettings之间究竟有什么区别

我正在进行单元测试项目,示例代码如下.基本上我的计划是在运行时创建数据,这些数据将作为单元测试的数据源.

[TestMethod]
[TestCategory("UITest"), TestCategory("PersonalDetailsFlow")]
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", "|DataDirectory|\\TestFlows.xml", "flow", DataAccessMethod.Sequential)]
public void TestMethod1()
{
 //Test Code
} 


[ClassInitialize]
public static void ClassInit(TestContext context)
{
    DriverData driverData = new DriverData();
    driverData.DataGenerator();
}

数据创建发生在ClassInitialize部分.当我将设置文件设置为testsettings文件时,项目运行没有任何问题.

当我将testsettings文件更改为指向runsettings文件时(因为我从runsettings文件传递了大量数据),我得到以下错误行“单元测试适配器无法连接到数据源或读取数据.有关解决此错误的详细信息,请参阅“数据驱动的单元测试疑难解答”

我很想知道当我使用testsettings使其成功但是在使用runsettings文件时,遇到所有问题以及如何在使用runsettings文件时避免这种情况时会发生什么.

另请参阅How to execute a line of code which is a data setup code in MSTest before all test

最佳答案 基本上,testsettings文件是为了与旧的单元测试兼容.它已在VS 2013中由runsettings取代.当使用testsettings时,它会回退到一些遗留兼容模式,这种模式在相对路径和东西等方面表现不同.不知道你遇到的实际问题.

点赞