2017-06-29 82 views
1

我想測試使用SpringBoot與Arquillian一起測試的Rest應用程序,但沒有任何在線示例工作,我無法測試GET調用並面臨部署到Jboss EAP-6.4的困難。任何人都可以指導我如何實現這一目標。任何簡單的例子?SpringBoot Rest應用程序+ Arquillian

+0

我只是好奇 - 爲什麼要在EAP中部署SpringBoot應用程序?這聽起來像是一場奇怪的比賽。 –

+0

我喜歡在Jquery容器中使用它,它不支持我的問題! – Vikram

+0

這就是爲什麼我要評論這個問題,而不是回答它。我相信這就是評論的意思。我知道它不能回答你的問題,但這似乎是一個錯誤的方法。所以也許不是解決你可以通過使用不同的解決方案來消除它的「問題」? –

回答

0

此鏈接幫助我解決了問題:Adding all Maven dependencies to Arquillian

,工程代碼:

@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); 
} 

有沒有什麼辦法,甚至更重構這個代碼?

1

我認爲在這裏有很多東西需要檢查,所以我會說1)你是否試過在EAP 6.4上部署Spring Boot應用程序來檢查它是否工作(不使用Arquillian)? 2)是否可以共享一個簡單的github項目,以便我們檢查?

+0

我在控制器中有這樣一個方法: @Autowired private service service; @RequestMapping(方法= RequestMethod.GET,值= 「/作品」) 公共無效的get(@PathVariable( 「值」)的字符串值){ \t logger.info(「********* ****「+服務); //打印null \t logger.info(「\ n \ n ^^^^^^^^^^」+ service.retrieveAll(Value)); } – Vikram

+0

如果你能爲我們提供一個github項目會更好,這個信息我不確定會發生什麼。 – lordofthejars

+0

由於公司技術人員,我無法推送代碼。當我手動將應用程序部署到jboss時,它無需測試即可運行。但是,當我嘗試部署測試,然後測試失敗,部署失敗。 – Vikram