gpt4 book ai didi

java - 使用 spark 服务器进行集成测试

转载 作者:行者123 更新时间:2023-11-28 20:13:48 25 4
gpt4 key购买 nike

我正在尝试 IT 我的 spark 服务器。我的意图是测试所有 Controller 功能。我考虑过几个选项:1. 设置一个服务器,在运行测试时启动,并在测试结束时终止。

此解决方案的问题是我必须将整个服务器逻辑重写到新服务器(每次在测试前设置服务器时我们都从头开始服务器)。

  1. 从测试类启动 Controller (对于启动而不是静态调用必不可少,以便为 Controller 配置正确的数据库),它将调用 Controller 函数并检查它们的答案。

这是我最喜欢的一个,但这意味着我必须模拟一个 spark 请求。我正在尝试构建一个 spark 请求和 spark 响应对象,以发送到我的 Controller ,但还没有找到一种正确的方法(以及如何发送参数、设置 url 路由等)

@Test
Public void testTry(){
String expectedName = "mark";
myController myCtl = new myController()
Request req = null;
Response res = null;

String childName = myCtl.getChildNameFromDB(req, res);

assertEquals(childName, expectedName);
}
  1. 最后一个是在测试中执行 Controller 功能的确切逻辑,而不是从请求中获取参数,而是我自己启动它们。

例如,代替:

String username = req.params(""usrName") 

它将是:

Strimg username = "mark"

但该解决方案将需要复制大量代码,并且您可能会遗漏一小段代码行,这可能会使测试成功,而实际上 Controller 功能失败(或未按要求交付)。

您如何看待集成测试 Spark 驱动的服务器?我也对新的解决方案持开放态度。

最佳答案

如果你想进行集成测试,我建议使用你的第一种方法,使用随机选择的免费 TCP 端口和 HTTP 客户端库(我经常使用出色的 HttpRequest 库来达到这种效果)。

这种方法的主要问题是,由于 Spark API 是静态的,您将无法在测试用例/套件之间停止/启动服务器。

关于java - 使用 spark 服务器进行集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48041815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com