我有一个 CSV 类和一个 CSV 解析器类,以及它们的单元测试。我想知道是否必须删除以下单元测试的一部分:
public class CSV{
public string[] columns GetColumns()
{
var columns = null;
if (!string.IsNullOrEmpty(this.textReader.ReadLine()))
{
var columns = this.csvParser.GetColumns(line);
}
return columns;
}
}
[Test]
public void GetColumns_ReturnsCorrectLine()
{
reader.Setup(r => r.ReadLine()).Returns("a\tb\tc");
//Act
var columns = csvReader.GetColumns();
//Assert
Assert.IsTrue(columns!=null);
Assert.AreEqual(3, columns.Length);
Assert.AreEqual("a", columns[0]);
Assert.AreEqual("b", columns[1]);
Assert.AreEqual("c", columns[2]);
}
问题
1)必须删除断言列(a,b,c)的三行代码吗?
2)GetColumns_ReturnsCorrectLine
测试方法在去掉最后三个断言后是否执行了正确的单元测试
请注意,已经有代码对 CSV 解析器的GetColumns()
方法进行单元测试。GetColumns 的功能是解析制表符分隔的字符串并将其转换为列。
任何的想法?