2017-06-29 15 views
1

Ich möchte meine Rest-Anwendung testen, die SpringBoot zum Testen mit Arquillian verwendet, aber keines der Online-Beispiele funktioniert Ich kann einen GET-Aufruf nicht testen und habe Schwierigkeiten bei der Bereitstellung von Jboss EAP-6.4. Kann mir jemand sagen, wie ich das erreichen kann? Irgendwelche einfachen Beispiele ???SpringBoot Rest Application + Arquillian

+0

Ich bin nur neugierig - warum würden Sie SpringBoot App in EAP bereitstellen? Das klingt nach einem merkwürdigen Match. –

+0

Ich mag es in Jboss Container zu tun, die Arquillian unterstützt und BTW, die meine Frage nicht beantwortet !!! – Vikram

+0

Deshalb kommentiere ich die Frage, beantworte sie nicht. Dafür sind Kommentare, glaube ich. Ich weiß, dass es deine Frage nicht beantwortet, aber das scheint eine falsche Herangehensweise zu sein. Also vielleicht, anstatt das "Problem" zu lösen, könntest du es lieber eliminieren, indem du eine andere Lösung verwendest? –

Antwort

0

Dieser Link hat mir geholfen, das Problem zu lösen: Adding all Maven dependencies to Arquillian.

Der Code, der funktioniert:

@Deployment 
public static Archive<?> createTestArchive() { 

     File[] files = Maven.resolver() 
         .loadPomFromFile("pom.xml") 
         .importRuntimeDependencies() 
         .resolve().withTransitivity() 
         .asFile(); 

    return ShrinkWrap.create(WebArchive.class, "FileUploadIssue.war") 
        .addPackages(true,"com.example") 
        .addAsLibraries(files); 
} 


@Test 
@RunAsClient 
public void shouldGetFileContents() { 

    String result = restTemplate.getForObject(contextPath + "upload/sayhello", String.class); 

    System.out.println("Test : " + result); 
} 

Gibt es eine Möglichkeit den Code noch mehr Refactoring ??

1

Ich denke, dass hier eine Menge Dinge zu überprüfen sind, also würde ich sagen 1) Haben Sie versucht, die Spring Boot App auf EAP 6.4 zu installieren, um zu überprüfen, ob es funktioniert (ohne Arquillian)? und 2) ist es möglich, ein einfaches GitHub-Projekt zu teilen, damit wir es überprüfen können?

+0

Ich habe eine Methode wie folgt in der Steuerung: @Autowired privaten Service-Service; @RequestMapping (method = RequestMethod.GET, value = "/ Werke") public void get (@PathVariable ("Value") String Value) { \t logger.info ("********* **** "+ Service); // Drucke Null \t logger.info ("\ n \ n ^^^^^^^^^" service.retrieveAll (Value)); } – Vikram

+0

Wenn Sie uns ein Github-Projekt zur Verfügung stellen können, wäre besser, mit dieser Information bin ich nicht sicher, was passieren könnte. – lordofthejars

+0

Aufgrund der technischen Daten des Unternehmens kann ich den Code nicht weitergeben. Wenn ich die Anwendung manuell auf jboss deploy, funktioniert es ohne Tests. Aber wenn ich versuche, mit den Tests zu implementieren, scheitern die Tests und die Bereitstellung schlägt fehl. – Vikram