首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WebApplicationFactory错误,未在调试模式下抛出

WebApplicationFactory错误,未在调试模式下抛出
EN

Stack Overflow用户
提问于 2022-06-07 05:15:58
回答 1查看 213关注 0票数 1

我正在使用一个.NET Nunit项目,并试图使用WebApplicationFactory类为集成测试创建一个夹具

当我运行测试时,我得到了异常。

System.InvalidOperationException :服务器尚未启动或未配置web应用程序。

但是,如果调试没有任何错误,并且测试运行时没有问题。我确实复制粘贴了一些我在网上找到的不同的好实现,并且删除了每个测试配置或服务替换,我仍然会得到错误。

这是我的配置

代码语言:javascript
运行
复制
public class Initializer
{
    protected WebApplicationFactory<Program> application { get; set; }
    protected HttpClient client { get; set; }

    protected IServiceProvider _serviceProvider;

    [SetUp]
    public void RunBeforeAnyTests()
    {
        application = new WebApplicationFactory<Program>().WithWebHostBuilder(conf =>
        {
            conf.UseEnvironment("Test");
        });

        client = application.Server.CreateClient();
        _serviceProvider = application.Services;
    }

}

我不能调查,因为在调试模式下我没有问题。我被困在这上面,有人能帮我吗?

EN

Stack Overflow用户

发布于 2022-11-21 14:39:40

我从测试中得到了完全相同的错误信息。在我的例子中,这是应用程序(web )本身的一个错误。

定义了一个不明确的路径,因此应用程序抛出一个异常并退出。

不幸的是,当运行测试项目时,您不会“看到”应用程序抛出的异常,因为它运行在不同的线程上。

来自安德鲁·洛克博客

_hostStartTcs是一个TaskCompletionSource,用于处理在后台运行的应用程序由于异常而退出的边缘情况。这是一个边缘的情况,但没有它,测试可能会无限期地悬念。

这句话让我意识到,应用程序可能已经“崩溃”了,事实证明是这样的。

因此,我还建议您尝试运行您的应用程序,并做一个健全的检查,以确保它没有崩溃在启动。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72526214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档