[英]Unit testing with data from file
我正在尝试创建一个词法分解器。 为了测试该词法还原器,我获得了具有近75000种词法还原的csv。
为了进行测试,我创建了一个单元测试,该单元读取文件并检查每一行是否导致正确的引理。 这种方法的问题在于它在第一个错误时失败,这当然是应该的。 但这并不能使我对除错器的总体进度有所了解。 这是唯一一个失败的案例,还是仅仅是数千个案例中的第一个。
我可以创建一个仅计算正确数量的测试,并检查此数字是否等于测试的数字。 但是后来我对失败没有一个很好的线索。
我想到的最好的事情是为每个单词+引理创建一个单元测试。 缺点是a)工作和b)相对于仅将其添加到csv而言,添加新单词/引理组合进行测试变得不那么容易。
所以我的问题是:有没有人比上述选择更好的选择? 拥有良好的“进度”跟踪,但仍然看到个别失败/成功测试。
对于MSTest,这应该可以为您提供帮助。 测试执行将从CSV文件的下一行继续,而与声明结果无关。
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.CSV", "lemmatizations.csv", "lemmatizations#csv", DataAccessMethod.Sequential)]
[TestMethod]
public void LemmatizationTest()
{
string lemma = TestContext.DataRow["lemma"]);
string expected = TestContext.DataRow["expected"]);
Assert.AreEqual(expected, lemma);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.