我试图为我的项目进行单元测试,但是我遇到了缺少testhost.deps.json
的问题,尽管它应该与Microsoft.AspNetCore.Mvc.Testing
一起安装。当我被告知错误可能与影子复制有关时,但无论我尝试做什么,错误仍然在创建客户端期间显示。
如何修复此错误?提前感谢您的答复。
系统。InvalidOperationException: Can't find 'C:UsersflybeOneDriveDesktopHomeworkProjectHomeworkTestbinDebugnet7.0testhost. depth .json'.
using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.VisualStudio.TestPlatform.TestHost;
namespace HomeworkTest
{
public class UnitTest1 :IClassFixture<WebApplicationFactory<Program>>
{
private readonly WebApplicationFactory<Program> _factory;
public UnitTest1(WebApplicationFactory<Program> factory)
{
_factory = factory;
}
[Fact]
public void Test1()
{
var client = _factory.CreateClient();
}
}
}
我试着重复训练视频中的内容。我还试着根据文档和JetBrains的文章做了一个测试,ReSharper解决了这个问题,但没有任何帮助。
确保bin文件夹中存在testhost.deps.json
文件。如果没有,请确保有
<PreserveCompilationContext>true</PreserveCompilationContext>
在你的.csproj
文件。
,如果这不起作用,试着从你的代码中删除下面的行。
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>