我正在发出一个发布请求,该请求将使用我的 bash 自动测试文件 (.bats) 中的curl 命令发布一个文件,但是该请求失败并出现错误。 以下是要求
@test "Test 1" {
sleep 5s
TEST_URL_HTTP="http://10.15.33.230:8080/service/v1/lb"
RESPONSE=""
for x in {0..20} ;
do
echo "Sending request to $TEST_URL_HTTP"
RESPONSE=$(curl --connect-timeout 1 -s -f -X POST -H 'Content-Type: application/json' -d '@./folder/request.json' $TEST_URL_HTTP) && break
sleep 5
done
if [ $x -lt 20 ] ;
then
echo "Received echo response"
else
echo "Failed to get echo response"
exit 1
fi
}
结果
[INFO] [exec] # Sending request to http://10.15.33.230:8080/service-a/v1/lb
[INFO] [exec] # $ RESPONSE=$(curl --connect-timeout 1 -s -f -X POST -H 'Content-Type: application/json' -d '@request.json' $TEST_URL_HTTP)
[INFO] [exec] # $ curl --connect-timeout 1 -s -f -X POST -H 'Content-Type: application/json' -d '@./folder/request.json' $TEST_URL_HTTP
[INFO] [exec] # curl: option -d: error encountered when reading a file
感谢任何帮助 谢谢你
我的bats脚本是从父shell脚本调用的,通过更改json文件的位置解决了问题