MSTest中的运行设置和测试设置之间到底有什么区别

Tim*_*jan 6 .net c# unit-testing mstest visual-studio

我有一个单元测试项目,下面是示例代码。基本上,我的计划是在运行时创建数据,并且该数据将充当单元测试的数据源。

[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();
}
Run Code Online (Sandbox Code Playgroud)

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

当我更改测试设置文件以指向运行设置文件时(由于我有很多数据来自运行设置文件),我得到了以下错误行“ 单元测试适配器无法连接到数据源或无法读取数据。有关解决此错误的详细信息,请参阅“对数据驱动的单元测试进行故障排除”。

我很想知道当我使用测试设置运行以使其成功时发生了什么,但是当使用运行设置文件时,会遇到所有问题以及如何在使用运行设置文件时避免这种情况。

另外,在进行所有测试之前,请参阅如何在MSTest中执行一行代码,这是数据设置代码。

Ste*_*ger 5

基本上,testsettings文件用于与较早的单元测试兼容。在VS 2013中,它已由运行设置替换。使用测试设置时,它会退回到某些旧的兼容模式,该模式在诸如相对路径和填充之类的东西中表现不同。不知道您遇到的实际问题。