繁体   English   中英

使用文件中的数据进行单元测试

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM