我使用MS UnitTestFramework库进行某些单元测试。我的一些测试使用[DataSource]属性来获取其数据,其中一些使用自定义GetData获取MTM数据并将结果存储到自定义对象列表中,其中一些同时执行这两项操作。
使用两者的TestMethods使用[DataSource]数据作为父母'数据。使用父数据迭代测试将把所有测试步骤放在一个循环中,该循环遍历我们的GetData调用返回的列表中的每个数据对象。总而言之,整个事情有点像嵌套在另一个for循环中的for循环。
我的问题是:有没有办法只使用DataSource属性来实现这种行为?
EX: MTM测试用例1具有数据行1和2。 MTM测试用例2具有数据行a,b和c。 我的TestMethod运行了6次:1a,1b,1c,2a,2b,2c。
(我知道我可以用6个DataRows做个案,但这不是一个可扩展的解决方案。)
答案 0 :(得分:0)
所以我认为我有各种各样的解决方案。它与我以前做过的不同,我还没有实现它,这只是一个想法。如果我从数据库中获取数据,我可能会创建存储TestCase 1和2数据的表,并为每个测试用例表提供一个视图,将其连接到“父”测试用例,然后[ DataSource]看一下那个视图。尚未完成研究,但如果DataSource允许我从存储过程中获取行,那么这比视图更好。