我有一个Angular Web应用(在Java SpringBoot中使用后端)。需要构建健康检查(监控)服务,它测试所有服务是否启动并运行,并显示状态。假设它是一个销售应用程序,它有服务CompanyService和AccountService,其中包含getCompanies等函数(),getAccount(id),updateXXX()等,服务器端有类似的东西(Kubernetes中的healthz/readyz)。是否可以将该服务构建为单元测试,它调用其他几个单元测试(测试其单独的服务)使用茉莉花/Karma?我们如何将其集成到应用程序中,因此用户单击按钮,它运行并在应用程序中返回/显示结果?如果不是,你会建议什么方法?在第二阶段,也许让它每分钟左右自动运行一次。
请指示奥列格
1条答案
按热度按时间2g32fytz1#
单元测试和健康检查/监控之间存在差异。正如评论中所提到的,单元测试和集成测试在应用发布之前进行。您不希望在实时生产应用中不断检查功能,这需要在部署之前在构建管道中完成。
运行状况检查,用于监控您的应用是否仍在运行,是生产环境中需要做的事情。对于Angular应用,运行状况检查可以简单地由调用您的应用的外部服务组成,以查看HTTP响应代码是否返回'200 OK'。
一个Angular应用实际上是静态代码,Javascript,HTML和CSS,所以 * 如果web服务器完成了它的工作,应用就会运行 *,因为一切都发生在浏览器中。所以检查你的web服务器是否仍然在为你的静态页面服务就足够了。
要检查后端API,一种标准的方法是使用
/health
端点进行一些后端检查(例如检查是否可以查询数据库,或者是否所有其他后端依赖项都已启动并运行)并返回状态。许多监控工具都可以选择测试这些/health端点并在出现错误时发出警报。