Тесты в порядке с mvn test, но не проходят в пакете mvn - PullRequest
0 голосов
/ 21 сентября 2018

У нас есть тест JUnit 5 в проекте Spring Boot, проверяющий ответ от контроллера, который создает вывод Protobuf.Если я выполняю набор тестов из среды IDE (в команде используются как Eclipse, так и IntelliJ) в качестве тестов JUnit, все проходят успешно.Если я запускаю mvn test из терминала, они также проходят.НО, если выполнить mvn package, этот тест не пройден.

Я не могу понять, в чем здесь разница, фаза теста должна быть одинаковой в test и package?Это как-то связано с тем, как мы зависим от Юпитера?

Если тест не пройден, он получит ответ 406 вместо ожидаемого 200. Это то же поведение, что и когда ProtobufHttpMessageConverter не зарегистрированв контексте.Это озадачивает меня, хотя тест отлично работает на этапе тестирования, так почему бы и нет, когда пакет выполняется?

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <version>2.22.0</version>
  <dependencies>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-surefire-provider</artifactId>
      <version>1.2.0</version>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>5.2.0</version>
    </dependency>
  </dependencies>
</plugin>
  ...
<dependencies>
  <dependency>
    <groupId>org.junit.platform</groupId>
    <artifactId>junit-platform-launcher</artifactId>
    <version>1.2.0</version>
    <scope>test</scope>
  </dependency>
  <dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-engine</artifactId>
    <version>5.2.0</version>
    <scope>test</scope>
  </dependency>
</dependencies>

Это вывод, когда тест не пройден:

Async:
Async started = false
 Async result = null

Resolved Exception:
         Type = org.springframework.web.HttpMediaTypeNotAcceptableException

 ModelAndView:
     View name = null
          View = null
         Model = null 

 FlashMap:
    Attributes = null

 MockHttpServletResponse:
        Status = 406
 Error message = null
       Headers = {}
  Content type = null
          Body = 
 Forwarded URL = null
Redirected URL = null
       Cookies = []
...