我在我的解决方案中设置了数据驱动的单元测试。它已连线,一切正常,这是大多数在线文章和问题似乎都关注的内容。
我找不到的是我如何在任何给定列的第一行之后读取后续行。
例如,如果我的 excel 文档是这样设置的:
A | B
------ | ------
A1 | B1
A2 | B2
A3 |
A4 |
然后回到我的单元测试中,我做了类似的事情:
var getValue = TestContext.DataRow["A"];
var getOtherValue = TestContext.DataRow["B"];
输出是getValue = "A1"
和getOtherValue = B1
。如果我尝试做这样的事情:
var getValue = TestContext.DataRow[0];
var getOtherValue = TestContext.DataRow[1];
输出仍然完全相同,这是有道理的。
我感到困惑的是如何获得A2
, A3
,B2
等中的值。这样我就可以通过将它们插入 excel 来测试所有不同的场景。
再举一个例子,如果我有这个表:
Cost | QtyOrdered
------ | ------------
10 | 10
5 | null
null | 2
null | null
在上述场景中,我想遍历所有不同的行并确保插入的值是我所期望的。我期望的第一行100
,并且在每个额外的行中,我都期望在我的单元测试中出现错误消息。
如果我不能只为每列的多行插入一堆数据,我真的看不出在 excel 中进行数据驱动的单元测试有什么意义。