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

C# 更改生成的单元测试文件的目录,c#,visual-studio,unit-testing,visual-studio-2008,mstest,C#,Visual Studio,Unit Testing,Visual Studio 2008,Mstest,在VisualStudio2008 Professional中,当我为一个方法创建单元测试(使用原生vs studio框架和向导)时,生成的测试文件存根保存在测试项目的根目录中 当我稍后将测试文件移动到子目录时,我无法使用向导为同一类的其他方法创建更多的测试存根(它将在根目录中创建一个新的空文件,然后以静默方式失败) 如何更改此设置,使测试项目使用与主项目相同的文件夹结构;因此,如果一个类位于例如project root\model\xyz.cs中,那么相应的测试类将在testproject r

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

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

如何更改此设置,使测试项目使用与主项目相同的文件夹结构;因此,如果一个类位于例如
project root\model\xyz.cs
中,那么相应的测试类将在
testproject root\model\xyzTest.cs
中自动生成


编辑:


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

移动或重命名文件夹时,只需包含dll、exe、,或者从主项目中正确地显示

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

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

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


希望这能奏效。我希望:p.

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

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

因此,如果您想继续使用该向导,我认为它没有任何意义。您应该能够将其移动到根目录,使用向导,然后将其移回右侧。这是我能想到的最好的选择

我认为VS2010的测试能力有了很大的提高,我还没有用过,但可能是那个版本修复了它

使用第三方代码模板提供解决方案