c# - 更改生成的单元测试文件的目录

标签 c# visual-studio unit-testing visual-studio-2008 mstest

在visual studio 2008 Professional中,当我为方法创建单元测试时(使用原生vs studio框架和向导),生成的测试文件 stub 保存在测试项目的根目录中。

当我稍后将测试文件移动到子目录时,我无法使用向导为同一类的其他方法创建更多测试 stub (它会在根目录中创建一个新的空文件,然后静默失败)

我怎样才能改变它,使测试项目使用与我的主项目相同的文件夹结构;所以如果一个类是例如在project-root\model\xyz.cs中,在testproject-root\model\xyzTest.cs中自动生成对应的测试类 ?


编辑:

补充一下,这似乎是 visual studio 的一个 Unresolved 错误。除了下面答案中描述的解决方法外,另一种可能性是在移动相应的测试类文件后简单地重命名自动生成的测试类。然后 Visual Studio 至少不会静默失败,而是在生成另一个测试方法时在根文件夹中重新创建旧的测试类文件,然后可以将该测试方法复制粘贴到正确的文件中

最佳答案

我刚刚确认了您的问题,在为我移动的文件添加更多测试时,我只生成了文件的前两行。

我猜向导只是不知道如何查看子文件夹以知道将其添加到哪个文件,但在尝试生成第二个同名类时出错。 (我想如果你重命名任何测试文件但将它们留在根目录中它也会有这个问题,但我没有测试这个想法)

因此,如果您想继续使用该向导,我认为无论如何都没有办法。您应该能够将其移至根目录,使用向导,然后将其移回右侧。这是我能想到的最佳选择。

我认为 VS2010 中的测试能力得到了极大的改进,我没有使用过它,但也许是那个版本的修复...

This answer提供了一个解决方案,使用第 3 方代码模板。

关于c# - 更改生成的单元测试文件的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10331669/

相关文章:

c# - 重定向进程输出 C#

vb.net - VB 2010发送消息: sending binary data to another app

c# - Moq 是在模拟子接口(interface)返回值并忽略中间步骤是错误还是功能?

Java - HashCode - 等于

unit-testing - MvvmCross:带插件的单元测试服务

c# - 从 ServiceStack 服务中清理 JSON

c# - 使用 C# 在 WP7 本地数据库中存储和检索复选框选定的项目

c# - RESTful 部分请求和部分序列化

visual-studio - 适用于 Visual Studio 2010 编程的 PC

c# - 如何为假货创建有意义的单元测试