English 中文(简体)
单位测试,备有投入文件
原标题:Unit testing with an input file
  • 时间:2009-10-14 16:58:33
  •  标签:

All: I have a unit test that is testing functionality that requires an input file. This test was built using VS 2008 s built-in unit testing feature.

我的问题是,档案需要通过单位测试发现。 然而,在试验运行时,它使用试验结果夹之下的临时“产出”目录。 它可以找到我的投入文件。

我将文件添加到单位测试项目,汇编了“非”行动,并抄录了产出目录选择的“复印件,如果是新版”,但复制件出现在普通的甚小公司产出目录上(低于双版),而不是放在单位测试执行目录上,因此没有找到文件。 我不想用硬密码来查阅档案,因为测试应当针对任何检查单位测试的人。 我可以把投入文件放在解决办法的夹中,让测试法“发现”文档,硬化一条相对的道路,支持树木,但我估计这必须是一个共同的问题,因此我要检查我是否失踪。

最佳回答

将档案作为资源添加到测试组。 然后,你可以随行装 大会。 GetManifestResourceStream在你的测试设置中。

这里采用一种方便的方法,我用来装载资源:

public static class ResLoader
{        
    public static string AsString<T>(string resName)
    {
         using (var reader = new StreamReader(Assembly.GetAssembly(typeof(T))
                                .GetManifestResourceStream(resName)))
        {
            return reader.ReadToEnd();
        }
    }
}

T是测试组中的任何类别。

问题回答

你们可以利用部署情况来做到这一点。 与此相关的是:

http://www.ademiller.com/blogs/tech/2007/10/gotchas-mstests-dploitem-attribute/

或者,你可以把档案作为资源,从那里读取。 这是我通常做的事。

通常,磁带外部资源,如档案和数据库结果,而不是试图在我的单位测试中查阅。 这样做并不总是容易的。 或许,如果你向我们展示有关方法,我们就能够帮助你使这种方法更能被检验。





相关问题
热门标签