2
單元測試在Visual Studio 15 ASP.NET MVC核心的網絡應用程序,我可以把一個using語句Microsoft.AspNetCore.Mvc
在我的測試文件,然後訪問框架類,例如如ViewResult
。使用Visual Studio 2017 RC,我甚至無法在測試項目中找到Microsoft.AspNetCore.Mvc
。我相信它必須與依賴關係相關。的xUnit配置2017年RC
從VS15的project.json配置:
{
"version": "1.0.0-*",
"testRunner": "xunit",
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
},
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"moq": "4.6.38-alpha",
"System.Diagnostics.TraceSource": "4.3.0",
"SportsStore": "1.0.0",
"xunit": "2.1.0",
"Microsoft.DotNet.InternalAbstractions": "1.0.0" // Required for xUnit with NetCore 1.1
},
"frameworks": {
"netcoreapp1.1": {
"imports": [ "dotnet5.6", "portable-net45+win8" ]
}
}
}
從VS17的SportsStore.Test.csproj配置:
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" />
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp1.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="**\*.cs" />
<EmbeddedResource Include="**\*.resx" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.DotNet.InternalAbstractions">
<Version>1.0.500-preview2-1-003177</Version>
</PackageReference>
<PackageReference Include="Microsoft.NETCore.App">
<Version>1.1.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.NET.Sdk">
<Version>1.0.0-alpha-20161104-2</Version>
<PrivateAssets>All</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk">
<Version>15.0.0-preview-20161123-03</Version>
</PackageReference>
<PackageReference Include="Moq">
<Version>4.6.38-alpha</Version>
</PackageReference>
<PackageReference Include="System.Diagnostics.TraceSource">
<Version>4.3.0</Version>
</PackageReference>
<PackageReference Include="xunit">
<Version>2.2.0-beta4-build3444</Version>
</PackageReference>
<PackageReference Include="xunit.runner.visualstudio">
<Version>2.2.0-beta4-build1194</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\SportsStore\SportsStore.csproj" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
的VS17項目使用xunit.runner.visualstudio
而非dotnet-test-xunit
由於後者只是兼容與project.json,而不是.csproj。我懷疑這種依賴性改變是我的問題的原因。我如何糾正這個問題並獲得對MVC框架的訪問權限?
請記住這是一個早期版本,而不是最終版本 –
當然。謝謝。 :-) –
該解決方案也可用於最終版本。您需要在IDE中執行此操作才能讓IDE解決依賴關係。 – Hahn