为什么我的RestTemple无法连接到服务器?

时间:2018-12-16 22:07:43

标签: spring-boot testing resttemplate

我正在使用Springboot和Java 8

我有以下网址,该网址与邮递员配合得很好:

http://localhost:8888/gc/goods/getAll

现在我试图编写一个自动化测试:

#!/usr/bin/env bash
case $BASH_VERSION in ''|[123].*) echo "ERROR: Bash 4.0 required" >&2; exit 1;; esac

declare -A seen_labels=( )  # initialize an empty associative array
while IFS= read -r str && IFS= read -r label; do # read string/label pair
  [[ ${seen_labels[$label]} ]] && continue       # skip pair if label prev. seen
  seen_labels[$label]=1                          # flag label as seen
  printf '%s\n' "$str"                           # print string
done

虽然邮递员将所有数据退还给我,但我从测试中得到以下错误:

  

org.springframework.web.client.ResourceAccessException:I / O错误发生在   GET请求“ http://localhost:8888/gc/goods/getAll”:连接   拒绝:连接;嵌套的异常是java.net.ConnectException:   连接被拒绝:连接

在测试过程中如何正确请求数据?

感谢帮助!

2 个答案:

答案 0 :(得分:1)

运行自动测试时,听起来好像服务器未启动并在端口8888上运行。如果您需要测试来启动嵌入式服务器,则需要使用类似的注释

@SpringBootTest(webEnvironment=WebEnvironment.DEFINED_PORT)

答案 1 :(得分:0)

请在您的测试课上使用以下注释

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest

@RunWith(SpringJUnit4ClassRunner.class)告诉JUnit使用Spring引导运行。 @SpringBootTest将加载application.properties和您需要的所有其他spring boot东西。