RestAssuredMockMvc 连接到 http://localhost:8080 被拒绝

2024-01-10

我使用 REST 方法开发了一个 Spring MVC Web 应用程序。我很想使用 RestAssured 创建 JUnit 测试类。从文档来看,它看起来非常简单,但我遇到了一些问题。基本上我想用它来避免运行时 Tomcat 实例,但问题是当我执行 JUnit 测试类时,我收到以下异常:

org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:8082 refused
...
Caused by: java.net.ConnectException: Connection refused

这是我的 JUnit 类:

import static com.jayway.restassured.RestAssured.given;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.web.context.WebApplicationContext;

import com.jayway.restassured.module.mockmvc.RestAssuredMockMvc;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"file:src/test/resources/spring/application-test-config.xml"})
@WebAppConfiguration
public class ExternalControllerTest {
    private static final Logger logger = LoggerFactory.getLogger(ExternalControllerTest.class);

    @Autowired
    WebApplicationContext webApplicationContext;

    @Before
    public void setUp() throws Exception {
        RestAssuredMockMvc.webAppContextSetup(webApplicationContext);
    }

    @Test
    public void addClientDeviceId_Success() {

            given().get("/api/test").then().statusCode(200);

    }

}

我还尝试直接使用控制器类配置 RestAssuredMockMvc 但结果是相同的:

RestAssuredMockMvc.standaloneSetup(new ExternalController());

控制器看起来像这样:

@Controller
@RequestMapping("/api")
public class ExternalController {

    public ExternalController() {
        logger.info("ExternalController initialised!");
    }

    @RequestMapping(value="/test", method = RequestMethod.GET, produces={"application/json", "application/xml"})
    public @ResponseBody DmsResponse test(HttpServletResponse response) {
        response.setStatus(HttpServletResponse.SC_OK);
        return null;
    }

}

在本指南中http://www.jayway.com/2014/01/14/unit-testing-spring-mvc-controllers-with-rest-assured/ http://www.jayway.com/2014/01/14/unit-testing-spring-mvc-controllers-with-rest-assured/指定“最重要的方面是启动环境更简单。您不需要引导容器(例如 Jetty 或 Tomcat),只需使用上下文(例如控制器)初始化 RestAssuredMockMvc 即可准备出发了。”所以我不明白问题出在哪里。有什么建议吗?

用Tomcat部署的war文件工作正常。 谢谢


您静态导入了错误的方法。您正在导入given from com.jayway.restassured.RestAssured (io.restassured.RestAssured如果使用版本 3.x),但您应该静态导入方法com.jayway.restassured.module.mockmvc.RestAssuredMockMvc (io.restassured.module.mockmvc.RestAssuredMockMvc在版本 3.x 中)。请参阅文档 https://github.com/rest-assured/rest-assured/wiki/Usage#bootstrapping-restassuredmockmvc了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RestAssuredMockMvc 连接到 http://localhost:8080 被拒绝 的相关文章

随机推荐

  • 当内容位于多个页面时,CSS 打印自定义大小的页边距

    我正在尝试打印可能很长且包含文本段落和表格的 HTML 页面 我的目标是定义打印边距对于每个页面 我将以下 CSS 添加到我的页面 media print body margin 2 5cm 0 但我遇到的问题是边际增加了only到文档的开
  • 如何使用 Firebase Cloud Functions .npmrc 设置私有 NPM 模块?

    我创建了一个私有类型 npm 模块 用于我的 firebase 函数和应用程序项目 当我去部署 firebase 函数时 每个函数都会出现一个大错误 基本上说ERR remote Invalid username or password 根
  • 无法进入.net框架源代码

    我可以加载符号但无法介入 如何实现这一目标 这是针对 Net 3 5 SP1 的 确保也清除本地符号缓存 如果您曾经从常规符号服务器下载过符号 那么将首先使用这些符号
  • 在 wp7 中,如何在不使用启动器和选择器的情况下撰写消息?

    我使用 SmsComposeTask 在 wp7 中撰写短信 但在我的应用程序中 我想直接发送消息而不使用 SmsComposeTask 所以请告诉我如何在不使用 SmsComposeTask 的情况下发送短信 你不能 这就是SmsComp
  • 实体框架与 LINQ to SQL [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 现在 NET v3 5 SP1 已经发布 与 VS2008 SP1 一起 我们现在可以访问 NET 实体框架 我的问题是这样的 当尝试决定使用实
  • 使用 AES 在 C# 中进行文件加密,使用 phpseclib 进行解密

    我正在开发一个安全文件传输项目 该项目在客户端使用 C 客户端对文件进行加密 我需要使用 php 或者 phpseclib 在服务器端解密文件 这里的代码是我从 msdn 示例中复制的 但我无法计算出 php 中的解密函数 public s
  • CountDiv (Codility) 挑战算法的性能问题

    需要一些关于我为解决这个 codility 挑战而制定的算法的帮助 编写一个函数 给定三个整数 A B 和 K 返回 A B 范围内可被 K 整除的整数个数 例如 对于 A 6 B 11 和 K 2 您的函数应返回 3 因为在范围 6 11
  • 如何使用结构指令更改边框?

    我正在尝试创建一个可以做两件事的角度指令 1 change border of the host element 2 append a button at the end of the host element 截至目前 我已经迈出了第一步
  • 无法使用在线签名模式创建信封

    我正在尝试创建一个信封并使用在线模式对其进行签名 首先 我登录了我的帐户 IBAction private func signDocument sender UIButton guard let hostURL URL string Env
  • 如何创建一个返回 const 值的工厂构造函数

    是否有可能返回 as const 的不同实现 abstract class Foo
  • 玩笑安全cookies?

    My Jest https facebook github io jest 测试设置为在 CI 上运行时模拟我的后端响应 但环境变量允许它们在本地针对真实后端运行 问题是我们现在已经将身份验证切换为使用安全的 仅限 http 的 cooki
  • 如何使用Python默认浏览器打开和关闭网站

    我正在尝试在Windows平台上编写一个Python脚本来打开一个网页 例如Google 然后在10秒后关闭该网站 注意 我使用的是 Windows 7 Python 2 7 10 和 IE 您可以使用Python内置的webbrowser
  • 工具栏上均匀分布的菜单项

    所以我一直在尝试实施android support v7 widget Toolbar在我的 Activity 中 并使其看起来类似于以前支持的拆分 ActionBar 这是我的工具栏的 XML
  • java SAXParser 忽略异常并继续解析

    我有一个 java 类 它解析 xml 文件 并将其内容写入 MySQL 一切正常 但问题是当 xml 文件包含无效的 unicode 字符时 会引发异常并且程序停止解析文件 我的提供商每天发送这个 xml 文件 其中包含产品列表及其价格
  • Java String.valueOf(jsonArray) 将 jsonArray 中的 UTF-8 编码内容变成问号

    我有这个 json 数组 JSONArray 类型 其中包含 utf 8 编码的字符串 success true data moduleTitle title status 200 然后我想获取它的字符串值 String s String
  • 无法让 GoogleMap OnMarkerClickListener 工作

    使用 V2 地图 一切基本正常 包括添加标记 但是 我需要在点击标记时采取行动 因此我安装了一个处理程序 thisMap setOnMarkerClickListener new GoogleMap OnMarkerClickListene
  • 如何为 Blogger 添加国际化支持?

    如何为 Blogger 添加国际化支持 是否可以在一个博客中处理多种语言 是否可以添加自己的翻译而不使用谷歌翻译小部件 http translate google com translate tools Thanks 这些应该设置在博客的
  • 如何从元组列表中删除项目? [复制]

    这个问题在这里已经有答案了 我想使用索引列表从元组列表中删除项目 mytupList 1 2 2 3 5 6 8 9 indxList 1 3 我尝试过像这样使用 numpy newtupList numpy delete mytupLis
  • Excel VBA 类似运算符 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在使用 Excel VBA 搜索另一个字符串中的子字符串 如下所示 Dim pos As Integer pos InStr I am
  • RestAssuredMockMvc 连接到 http://localhost:8080 被拒绝

    我使用 REST 方法开发了一个 Spring MVC Web 应用程序 我很想使用 RestAssured 创建 JUnit 测试类 从文档来看 它看起来非常简单 但我遇到了一些问题 基本上我想用它来避免运行时 Tomcat 实例 但问题