Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义数据驱动MSTest_C#_Visual Studio_Unit Testing_Mstest_Vs Unit Testing Framework - Fatal编程技术网

C# 自定义数据驱动MSTest

C# 自定义数据驱动MSTest,c#,visual-studio,unit-testing,mstest,vs-unit-testing-framework,C#,Visual Studio,Unit Testing,Mstest,Vs Unit Testing Framework,我有从Excel创建的XML电子表格文件,需要用作数据驱动测试的输入。我无法在测试方法上使用DataSource属性,因为使用Oledb提供程序解析文件时不一致。我想知道是否有一种方法可以像DataSource属性那样嵌套测试结果 我更希望MSTest显示迭代的每一行的分解,而不是捕获失败的断言异常并保留失败的集合。我当然希望测试针对每一行运行,而不是在第一个失败的断言时退出执行 我不是在寻找坚持通过DataSource属性加载数据的答案。谢谢 在每个TestMethods上使用部署每个测试所需

我有从Excel创建的XML电子表格文件,需要用作数据驱动测试的输入。我无法在测试方法上使用
DataSource
属性,因为使用Oledb提供程序解析文件时不一致。我想知道是否有一种方法可以像
DataSource
属性那样嵌套测试结果

我更希望MSTest显示迭代的每一行的分解,而不是捕获失败的断言异常并保留失败的集合。我当然希望测试针对每一行运行,而不是在第一个失败的断言时退出执行

我不是在寻找坚持通过DataSource属性加载数据的答案。谢谢

  • 在每个
    TestMethods
    上使用部署每个测试所需的XML电子表格文件。它将部署在程序集的位置

  • TestInitilize
    方法中,使用组件的路径将文件解析为自定义
    数据源(可能是输入数据的对象列表)

  • TestMethod
    的代码捕获放在try/catch块中。如果抛出异常,请使用
    TestContext.WriteLine
    方法报告错误,或将其附加到自定义结果文件中(类似于)

  • 使用类级计数器,并在每个
    TestMethod
    的末尾检查计数器是否等于自定义数据源长度。如果不是,则将其增加1,然后重新运行测试