Attach unit tests to ASP.NET Core project
我在vs 2015中创建了一个ASP.NET核心Web应用程序。"添加单元测试"复选框可用于ASP.NET 4.x模板,但当我选择ASP.NET 5模板时,它将灰显。我尝试创建项目,但计划添加自己的单元测试。
我在解决方案中添加了另一个项目,但无法将两者联系起来。当我右键单击UnitTest项目的引用并单击"添加引用"时,我可以看到原始项目。作为一种选择。
但是当我选中这个框并点击OK时,我会得到一个对话框,上面写着"无法添加对‘穿山甲网’的引用"。程序集必须具有"dll"或"exe"扩展名才能被引用。"
为什么我不能添加一个ASP.NET核心项目作为引用?这是使它的所有类和方法对我的UnitTest项目可用的唯一方法吗?
项目仍然编译为可以引用的dll,因此,不要引用项目,而是引用核心项目的bin文件夹中的dll。
使用"添加引用,浏览"对话框添加对文件的引用
编辑csproj以使用配置变量,以便它在发布模式下正确构建。例如
`
1 2 3 4 5 | <Reference Include="YourLibrary, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\YourLibrary\bin\$(Configuration) et45\YourLibrary.dll</HintPath> </Reference> |
不能将ASP.NET 5(ASP.NET核心)项目添加为对.NET Framework.csproj项目的引用(我假定单元测试项目为)。这是当前Visual Studio工具中的一个功能缺口,但将被修复(imho是即将到来的RC2的一部分)。为什么?因为它没有实现;)。
我还想强调朱利亚诺的回答是正确的。XUnit是.NET和ASP.NET团队选择的框架。
解决方案:将类作为链接文件包含到CSproj中。这样,您可以编译它两次,然后测试它一次。不是最好的解决方案,而是先解决一段时间,直到工具赶上。