繁体   English   中英

如何在单元测试中使用外部数据?

[英]How to use external data in Unit Tests?

我有很多单元测试,需要大量的文本,数据,HTML等文件。 外部存储这些文件使得生命更容易更新测试用例,添加新的测试用例等。

但是,在单元测试中具有依赖性会给不同系统和不同测试运行器带来很多麻烦。

什么是最佳做法?

  1. 外部存储它们并在代码中相对链接这些文件? 在一些测试跑步者中引起问题,或需要额外的配置
  2. 将所有这些文件嵌入到单元测试dll中并从那里读取( 使创建测试更加困难
  3. 存储在硬编码位置( 当您在其他位置检出代码时,显然会导致很多问题

你怎么解决这个问题?

我在我的测试项目中使用本地文件夹,并使用以下代码获取测试文件:

public static FileInfo GetTestFileInfo(string fileName)
{
    var dir = AppDomain.CurrentDomain.BaseDirectory;
    return new FileInfo(dir + @"\..\..\TestData\" + fileName);
}

哦,是的,我正在使用MbUnit。

我的做法是将测试资源嵌入到单元测试程序集中,并使用GetManifestResourceStream将它们拉出来。

NUnit测试无论如何都是面向夹具的,所以一旦你设置了夹具( 一组特定的资源),就很容易添加额外的测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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