【发布时间】:2019-03-29 00:50:30
【问题描述】:
我在 .NET Core 解决方案中有两个项目:
- TestWebApp(典型的 ASP.NET Core 2.2 Web 应用程序)
- 单元测试应用
我的单元测试应用程序抱怨在运行时有许多文件丢失。我想知道为什么这些文件在我认为应该通过TestWebApp 提供/可用时丢失了。
这是 csproj 文件:
TestWebApp
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Hellang.Middleware.ProblemDetails" Version="3.0.1" />
<PackageReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
....
单元测试项目/应用程序
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<IsPackable>false</IsPackable>
<LangVersion>latest</LangVersion>
</PropertyGroup>
....
<ItemGroup>
<ProjectReference Include="..\TestWebApplication\TestWebApplication.csproj" />
</ItemGroup>
...
这是我现在运行任何单元测试时遇到的第一个错误:
消息:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.AspNetCore.Mvc.ApiExplorer,版本=2.2.0.0,文化=中性,PublicKeyToken=adb9793829ddae60”。系统找不到指定的文件
然后我手动将它添加到单元测试项目中,重新编译并运行所有测试,现在我得到这个运行时错误:
消息:System.IO.FileNotFoundException:无法加载文件或程序集“Microsoft.AspNetCore.Razor.Runtime,版本=2.2.0.0,文化=中性,PublicKeyToken=adb9793829ddae60”。系统找不到指定的文件。
所以现在它找不到 另一个 文件 .. 我认为它应该通过 TestWebApp 拉下来?
Nuget 添加该文件 ... 编译 .. 并且测试都运行正常。
那么为什么我需要手动将这两个 nuget 添加到 xunit 测试项目中?
【问题讨论】:
标签: c# unit-testing asp.net-core