getappmap / getappmap/appmap-java

Test failures in a Kotlin spring project

Ouverte
#67 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Java
Étoiles
88
Forks
17
Merge moyen
2 j 2 h
PR mergées (30 j)
1

Description

Project: https://github.com/spring-guides/tut-spring-boot-kotlin.git

appmap.yml:

# appmap.yml
name: MyFirstKotlin/AppMap

packages:
  # List the packages you'd like to record here.
  - path: com.example.blog

agent.log

Shell output:

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.2.2.RELEASE)

2021-03-23 16:55:21.332  WARN 76617 --- [           main] o.s.boot.StartupInfoLogger               : InetAddress.getLocalHost().getHostName() took 5006 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts).
2021-03-23 16:55:26.340  INFO 76617 --- [           main] com.example.blog.HttpControllersTests    : Starting HttpControllersTests on Ubehebe.local with PID 76617 (started by ptrdvrk in /Users/ptrdvrk/work/github/java/tut-spring-boot-kotlin)
2021-03-23 16:55:26.341  INFO 76617 --- [           main] com.example.blog.HttpControllersTests    : No active profile set, falling back to default profiles: default
2021-03-23 16:55:32.245  INFO 76617 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-03-23 16:55:32.373  INFO 76617 --- [           main] o.s.b.t.m.w.SpringBootMockServletContext : Initializing Spring TestDispatcherServlet ''
2021-03-23 16:55:32.373  INFO 76617 --- [           main] o.s.t.web.servlet.TestDispatcherServlet  : Initializing Servlet ''
2021-03-23 16:55:32.377  INFO 76617 --- [           main] o.s.t.web.servlet.TestDispatcherServlet  : Completed initialization in 4 ms
2021-03-23 16:55:32.393  INFO 76617 --- [           main] com.example.blog.HttpControllersTests    : Started HttpControllersTests in 21.094 seconds (JVM running for 72.569)
2021-03-23 16:55:32.829  WARN 76617 --- [           main] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: no answer found for: Iterable(child of com.example.blog.ArticleRepository#0 bean#2#3).iterator(); nested exception is com.fasterxml.jackson.databind.JsonMappingException: no answer found for: Iterable(child of com.example.blog.ArticleRepository#0 bean#2#3).iterator()]

MockHttpServletRequest:
      HTTP Method = GET
      Request URI = /api/article/
       Parameters = {}
          Headers = [Accept:"application/json"]
             Body = <no character encoding set>
    Session Attrs = {}

Handler:
             Type = com.example.blog.ArticleController
           Method = com.example.blog.ArticleController#findAll()

Async:
    Async started = false
     Async result = null

Resolved Exception:
             Type = org.springframework.http.converter.HttpMessageNotWritableException

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

FlashMap:
       Attributes = null

MockHttpServletResponse:
           Status = 500
    Error message = null
          Headers = [Content-Type:"application/json"]
     Content type = application/json
             Body =
    Forwarded URL = null
   Redirected URL = null
          Cookies = []
2021-03-23 16:55:32.882  WARN 76617 --- [           main] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: no answer found for: Iterable(child of com.example.blog.UserRepository#0 bean#1#4).iterator(); nested exception is com.fasterxml.jackson.databind.JsonMappingException: no answer found for: Iterable(child of com.example.blog.UserRepository#0 bean#1#4).iterator()]

MockHttpServletRequest:
      HTTP Method = GET
      Request URI = /api/user/
       Parameters = {}
          Headers = [Accept:"application/json"]
             Body = <no character encoding set>
    Session Attrs = {}

Handler:
             Type = com.example.blog.UserController
           Method = com.example.blog.UserController#findAll()

Async:
    Async started = false
     Async result = null

Resolved Exception:
             Type = org.springframework.http.converter.HttpMessageNotWritableException

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

FlashMap:
       Attributes = null

MockHttpServletResponse:
           Status = 500
    Error message = null
          Headers = [Content-Type:"application/json"]
     Content type = application/json
             Body =
    Forwarded URL = null
   Redirected URL = null
          Cookies = []
[ERROR] Tests run: 2, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 21.598 s <<< FAILURE! - in com.example.blog.HttpControllersTests
[ERROR] List articles  Time elapsed: 0.446 s  <<< FAILURE!
java.lang.AssertionError: Status expected:<200> but was:<500>
	at com.example.blog.HttpControllersTests.List articles(HttpControllersTests.kt:30)

[ERROR] List users  Time elapsed: 0.029 s  <<< FAILURE!
java.lang.AssertionError: Status expected:<200> but was:<500>
	at com.example.blog.HttpControllersTests.List users(HttpControllersTests.kt:44)

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par le projet tut-spring-boot-kotlin lié et exécutez HttpControllersTests.kt, en particulier les assertions des lignes 30 et 44. Examinez agent.log parallèlement aux échecs de GET /api/article/ et GET /api/user/ ; le travail est terminé lorsque les deux tests réussissent avec le statut 200 attendu et qu’aucune erreur de sérialisation n’est signalée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, kotlin, spring-boot
Domaine
api, backend, testing
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.