Тесты с многострочной строкой помечаются как пройденные при отдельном запуске (java + maven + cucumber) - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть тесты на java + maven + огурец.Test создает запрос к удаленному API (https://jsonplaceholder.typicode.com/) и проверяет, что ответ, полученный в json, является правильным.

Сценарий огурца:

Scenario Outline: Check a post body
  When user requests for the post by it's <id> as id
  Then response code is 200
  And response for the post returns correct body <body>

Examples:
|id |body|
|1  |quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto|
|18 |eveniet quo quis\nlaborum totam consequatur non dolor\nut et est repudiandae\nest voluptatem vel debitis et magnam|
... etc...

Ответ Json анализируется ObjectMapperи хранится в классе Java:

package responses;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Posts {

public Posts(){};

private int userId;
private int id;
private String title;
private String body;

public int getUserId() {return userId;}

public void setUserId(int userId) {this.userId = userId;}

public int getId() {return id;}

public void setId(int id) {this.id = id;}

public String getTitle() {return title;}

public void setTitle(String title) {this.title = title;}

public String getBody() {return body;}

public void setBody (String body) {this.body = body;}}

.

BufferedReader br = new BufferedReader(new 
InputStreamReader(connection.getInputStream()));
    ObjectMapper mapper = new ObjectMapper();
    Posts post = mapper.readValue(br, Posts.class);

А затем сравниваются обе строки:

@Then("^response for the post returns correct body (.*)")
  public void response_for_the_post_returns_correct_body(String body) throws IOException {
  Assert.assertEquals(body, RequestSender.get_data_from_post("body", connection));
}  

С настройками, как указано выше, при запускеЕдинственный сценарий, он помечается как «пройденный» в Idea. Но когда я запускаю все тесты с помощью maven «mvn test», тесты не выполняются.

Но если я изменю «строку тела» на нечто совершенно иное, например «12345 ', происходит сбой при запуске одного сценария.

Проблема только в этом параметре' Body '(я полагаю, потому что он содержит многострочное значение)

Почемуэто случилось? Как я могу это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...