自定义数据驱动的MSTest

时间:2012-08-24 19:08:28

标签: c# visual-studio unit-testing mstest vs-unit-testing-framework

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

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

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

1 个答案:

答案 0 :(得分:3)

  1. 使用每个TestMethods上的DeploymentItem来部署每个测试所需的XML电子表格文件。它将部署在大会的位置。

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

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

  4. 使用类级别计数器,并在每个TestMethod结束时检查计数器是否等于您的自定义数据源长度。如果没有,请将其增加1并重新运行测试。

相关问题