【发布时间】:2018-06-11 00:41:04
【问题描述】:
我正在尝试 IT 我的 spark 服务器。我的目的是测试所有控制器功能。 我想过几个选择: 1. 设置一个服务器,在运行测试时启动,在测试结束时终止。
此解决方案的问题是我必须将整个服务器逻辑重写到新服务器(每次在测试之前设置服务器时,我们都会从头开始服务器)。
- 从测试类启动一个控制器(对于启动而不是静态调用来说是必需的,以便为控制器配置正确的数据库),它将调用控制器函数并检查它们的答案。
这是我最喜欢的一个,但这意味着我必须模拟一个 spark 请求。我正在尝试构建一个火花请求和火花响应对象,以发送到我的控制器,但还没有找到一种正确的方法(以及如何发送参数、设置 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);
}
- 最后一个是在测试中做控制器功能的确切逻辑,而不是从请求中获取参数,我自己启动它们。
例如,而不是:
String username = req.params(""usrName")
会是:
Strimg username = "mark"
但是该解决方案需要复制大量代码,并且您可能会错过一小段代码行,这可能会使测试成功,而实际上控制器功能失败(或未按预期交付)。
您对 Integratiom 测试火花驱动服务器有何看法?我也对新的解决方案持开放态度。
【问题讨论】:
标签: java testing server integration-testing spark-java