Итак, я пытался реализовать шаг 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, прежде чем перейти к следующему шагу.
- Если запрос завершается неудачно, ошибка не передается обратно в обратный вызов и не помечается как неудачная.
Любая помощь будет оценена по достоинству.
error
- person nilesh   schedule 25.02.2016