测试用例中的装配路径

时间:2011-06-22 19:15:35

标签: .net vs-unit-testing-framework

我正在编写一个测试用例,其中测试方法验证路径是否存在。该路径位于正在输出程序集的文件夹中。 所以我有代码来获取文件夹路径 string assemblyLocation = typeof(ReportViewer).Assembly.Loaction;

ReportViewer存在于同一个程序集中。当我运行测试用例时,它最终选择正在运行的程序集测试用例的文件夹的路径。

当我运行应用程序时,测试中的方法返回正确的路径但在测试用例期间它给出了我的测试程序集路径。有什么线索的原因?

我正在使用MSTest作为测试框架。

1 个答案:

答案 0 :(得分:0)

您没有指定您正在使用的单元测试框架,但是,在Visual Studio Professional(及更高版本)内置测试中,测试从测试结果的out目录中的测试程序集执行,并且所有引用的程序集都在那里复制。

仅供参考,如果您的代码依赖于任何未引用的程序集(加载了反射或非托管程序集)或任何其他需要在执行目录中的资源,那么您需要在测试的类初始化期间将它们复制到那里(在构造函数之前运行。)

这可以灵活配置测试环境(例如单独的app.config文件)。

编辑 - 回复评论:

代码返回正确的结果 - 执行目录,我假设你正在寻找bin目录的原因是你有一些资源。如果是这种情况,请在测试开始之前将它们复制到测试的out目录(在测试的类的类初始化方法中)。