4

所以,我的第一次 VS(2012)/NUnit 单元测试经验...

单元测试项目引用程序集A(需要测试的代码),这需要程序集B。所以,我也引用了程序集B。两个文件都复制到输出目录。

但是,当我运行测试时,它失败了,因为它无法加载程序集 B。奇怪的是,它必须从另一个目录运行测试。

所以,我打开 Resharper,禁用卷影复制。仍然失败。

双重和三重检查所有必要的文件都被引用并在输出目录中。他们是。

开始做一些研究,找到这篇文章,这意味着我可以禁用部署并从我的输出目录运行测试。但是,我的单元测试项目没有我可以找到的“运行配置文件”,但在演练的第一步中需要它。德拉特。

然后我偶然发现了DeploymentItem属性。我将它添加到我的测试方法中,你瞧,它有效。但是,我宁愿不要永远在每个测试方法中都使用这个属性,所以我正在寻找更好的解决方案。

有谁知道如何告诉该死的测试框架复制我的输出目录中的所有文件,或者从该目录开始运行该东西?这似乎应该是简单和默认的,而不是神奇和隐藏的......在此先感谢。

我先去发泄一下。这是我遇到过的最脑残的设计决策之一。他们有项目文件,他们知道引用了哪些程序集/文件,他们知道是否将它们设置为“始终复制”......但他们忽略了所有这些。

默认行为是只运行最琐碎的“Hello World”项目并破坏其他一切,浪费我/你的时间。这些开发者在想什么?...现在感觉好多了。

4

1 回答 1

0

If you want to deploy additional files into test folder, and don't want to use DeploymentItemAttribute - you can create and add to your solution a .testsettings file. There you can configure your additional files / directories for deployment, setup and cleanup scripts, etc. See MSDN description of test settings files.

于 2013-04-16T21:04:52.363 回答