我有从Excel创建的XML电子表格文件,我需要将其用作数据驱动测试的输入。我不能在我的测试方法上使用DataSource
属性,因为使用Oledb提供程序解析文件时不一致。我想知道是否有办法像DataSource
属性那样嵌套测试结果?
我更喜欢MSTest显示迭代的每一行的细分,而不是我捕获失败的断言异常并保留一组失败。我当然希望测试针对每一行运行,而不是在第一次失败的断言时退出执行。
我不是在寻找坚持通过DataSource属性加载数据的答案。感谢
答案 0 :(得分:3)
使用每个TestMethods
上的DeploymentItem来部署每个测试所需的XML电子表格文件。它将部署在大会的位置。
在TestInitilize
方法中,使用Assemby的路径将文件解析为自定义DataSource
(可能是输入数据的对象列表)。
将TestMethod
的代码捕获放入try / catch块中。如果抛出异常,请使用TestContext.WriteLine
方法报告错误,或将其附加到自定义结果文件中(类似this)。
使用类级别计数器,并在每个TestMethod
结束时检查计数器是否等于您的自定义数据源长度。如果没有,请将其增加1并重新运行测试。