我有一个用c#编写的单元测试,它使用.CSV作为数据源:
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "|DataDirectory|\\TestData.csv", "TestData#csv", DataAccessMethod.Sequential), DeploymentItem("TxRP.Tests\\TestData.csv"), TestMethod()] public void CompareOrgsTest() { // Arrange var vdd = new Mock().Object; HtmlHelper helper = MVCMocks.CreateMockHelper(vdd); string orgOne = testContextInstance.DataRow["OrgOne"].ToString(); string orgTwo = testContextInstance.DataRow["OrgTwo"].ToString(); bool expected = Convert.ToBoolean(testContextInstance.DataRow["OrgCompareExpected"]); // Act bool actual = HtmlHelpers.CompareOrg(helper, orgOne, orgTwo); // Assert Assert.AreEqual(expected, actual, "Did not return " + expected + ". Org1=" + orgOne + ", Org2=" + orgTwo); }
工作非常棒,直到我需要添加一些空值测试.我似乎无法弄清楚如何传递NULL值作为数据元素之一...有没有人以前做过这个?
谢谢!
你不能.您正在从CSV文件中读取值.CSV文件中没有"null"值.我知道要做的下一个最好的事情是编写一些代码来测试'null',如果从CSV文件中读取'魔术字符串'.
string orgOne = testContextInstance.DataRow["OrgOne"].ToString(); if (orgOne=="null") orgOne = null;