Nested DataSource for MS UnitTestFramework c#

本文关键字:UnitTestFramework MS for DataSource Nested | 更新日期: 2023-09-27 18:31:19

我正在使用MS UnitTestFramework库进行一些单元测试。我的一些测试使用 [DataSource] 属性来获取其数据,其中一些使用自定义 GetData 获取 MTM 数据并将结果存储到自定义对象列表中,其中一些测试同时执行这两项操作。

同时使用这两种数据的测试方法将 [数据源] 数据用作"父"数据。使用父数据进行测试迭代会将其所有测试步骤放在一个循环中,该循环遍历 GetData 调用返回的列表中的每个数据对象。总而言之,整个事情有点像嵌套在另一个 for 循环中的 for 循环。

我的问题是:有没有办法仅使用数据源属性来实现此行为?

前任:MTM 测试用例 1 具有数据行 1 和 2。MTM 测试用例 2 具有数据行 a、b 和 c。我的测试方法运行了 6 次:1a、1b、1c、2a、2b、2c。

(我知道我可以用 6 个 DataRow 来做一个案例,但这不是一个可扩展的解决方案。

Nested DataSource for MS UnitTestFramework c#

所以我想我有各种各样的解决方案。它与我以前一直在做的事情不同,我还没有实现它,这只是一个想法。如果我从数据库中获取数据,我也许能够创建存储 TestCase 1 和 2 数据的表,并为每个测试用例表提供一个视图,将其交叉连接到"父"测试用例,然后让 [DataSource] 查看该视图。还没有做过研究,但如果 DataSource 允许我从存储过程中获取行,那么那会比视图更好。