cargo test 卡住「已解决」

💡 原文中文,约2800字,阅读约需7分钟。
📝

内容提要

在使用Axum重写《Zero To Production》第三章代码时,测试出现阻塞问题。虽然浏览器和curl请求正常,但执行cargo test health_check_works时程序卡住。希望社区提供帮助,分析涉及HTTP请求和异步处理的代码。

🎯

关键要点

  • 在使用Axum重写《Zero To Production》第三章代码时遇到测试阻塞问题。

  • 使用cargo run和curl请求正常,但cargo test health_check_works时程序卡住。

  • 希望社区提供帮助,分析HTTP请求和异步处理的代码。

  • 提供了代码片段,包括tests/health_check.rs、src/lib.rs和src/health_check.rs。

  • spawn_app函数用于在后台启动应用程序。

  • health_check函数返回一个简单的响应,状态为成功。

延伸问答

在使用Axum时,测试阻塞问题的表现是什么?

在执行cargo test health_check_works时,测试程序卡住,提示测试已运行超过60秒。

为什么使用cargo run和curl请求正常,但cargo test时卡住?

可能是测试代码中的异步处理或HTTP请求导致程序阻塞。

如何在Axum中启动应用程序以进行测试?

可以使用spawn_app函数在后台启动应用程序。

health_check函数的作用是什么?

health_check函数返回一个简单的响应,状态为成功。

如何复现cargo test卡住的问题?

可以克隆项目并执行cargo test health_check_works来复现该问题。

在测试中使用reqwest的目的是什么?

使用reqwest是为了对应用程序执行HTTP请求进行测试。

🏷️

标签

➡️

继续阅读