我有一个类需要一个字符串的XML文件的路径,并输出一个对象。我想用一些预先生成的测试脚本使用NUnit来测试这个类。C#单元测试,使用XML从一个zip文件
我有一个zip文件并包含在项目中的脚本。我想这样做:
// Not sure how to do this
List<byte[]> scripts = GetTheScriptsSomehow();
foreach(var script in scripts)
{
var parsedScript = ScriptParser.Parse(script);
Assert.AreEqual(parsedScript.Blah, "BLAH");
}
我最关心的部分是如何访问压缩的脚本和部分项目。
谢谢!
编辑:为了解决一些评论,zip文件是单元测试项目的一部分,而不是发布的代码库。它包含应该产生可测试的已知输出的测试脚本。他们被压缩,因为脚本相当大(每个100MB)
注意,那感觉就像单元测试的不寻常的定义 - 您正在测试三个不相关的组件 - ScriptParser,可能是打包脚本和脚本本身的构建系统。通常你会为ScriptParser.Parse测试一个单元测试,但是你的范围集成测试的脚本... – 2012-04-20 21:41:42
@AlexeiLevenkov:据我所知,OP只测试'ScriptParser.Parse'。除了从资源加载测试数据(不会将其称为组件)之外,没有其他“组件”涉及。这个测试没什么不妥(除了'foreach'外,可能我不是那个人)。 – 2012-04-20 21:46:47
我猜我错误地将“项目的一部分”误解为“包含在产品的程序集/文件中”......您可能是正确的,因为它应该被解读为“严格用于测试的脚本文件Zip存档”。 – 2012-04-20 21:52:12