【发布时间】:2016-02-22 15:20:53
【问题描述】:
所以我一直在尝试实现一个 Cucumber 步骤,该步骤向网站发出 POST 请求,等待请求完成(因为以下步骤依赖于发布成功)并在出现任何问题时中断测试:
this.Then(/^Post file "([^"]*)" and wait for the request to finish$/, function(fileName, callback) {
var request = require("request");
var fs = require("fs-extra");
var options = {
method: 'POST',
url: "https://www.testOver9000.com/",
body: fs.readJsonSync(fileName),
json: true,
auth: {
username: "test",
password: "test"
}
};
request(options, function(error, response, body) {
if (!error && response.statusCode == 200) {
callback(null);
} else {
callback(error);
}
});
});
目前我在这里遇到两个问题:
- 此步骤不会等待 HTTP POST 完成,然后再转到下一步。
- 如果请求失败,错误不会传回回调,也不会标记失败。
任何帮助将不胜感激。
【问题讨论】:
-
什么版本的 cucumberjs?你打印
error
标签: node.js http callback request cucumberjs