2

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

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

如何更改此设置,以便测试项目使用与我的主项目相同的文件夹结构;所以如果一个类是例如在project-root\model\xyz.cs,相应的测试类是自动生成的testproject-root\model\xyzTest.cs


编辑:

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

4

2 回答 2

1

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

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

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

我认为测试能力在 VS2010 中得到了很大的提高,我没有使用过,但也许已经为那个版本修复了它......

这个答案提供了一个解决方案,使用 3rd 方代码模板。

于 2012-05-05T03:38:17.620 回答
0

移动或重命名文件夹时,您唯一需要做的就是从主项目中正确包含 dll、exe 或清单。

听起来您不仅希望它位于单独的文件夹中,而且还希望它位于单独的项目中?

将文件夹按您想要的方式排列后,右键单击测试项目的引用,然后单击“添加引用”。单击“浏览选项卡”,然后找到您的主项目,进入其 bin/Debug 文件夹并选择适当的 dll 或 exe。

这当然假设您可以首先编译您的主项目。要仅编译源项目,请在解决方案资源管理器中右键单击它,单击“构建”或“调试/启动新实例”。

这应该会奏效。我希望:p。

于 2012-05-05T02:35:52.017 回答