2015-04-14 87 views
2

我想建立一個非常輕量級澤西單元測試。我的web服務產生JSON結果,我想直接驗證而不使用HTTP-Server。是否可以在不使用像Grizzly HTTP這樣的HTTP服務器的情況下創建lighweight jsersey測試?澤西單位測試沒有HTTP服務器

回答

2

不知道你使用的是什麼版本的新澤西州,但看看新澤西測試框架。有一個內存容器,它不涉及任何網絡連接。這裏有一個文檔

你可以看到在項目源代碼的一些不同的例子測試

依賴

  • 新澤西2.x的

    <dependency> 
        <groupId>org.glassfish.jersey.test-framework.providers</groupId> 
        <artifactId>jersey-test-framework-provider-inmemory</artifactId> 
        <version>${jersey2.version}</version> 
    </dependency> 
    
  • 新澤西1.x的

    <dependency> 
        <groupId>com.sun.jersey.jersey-test-framework</groupId> 
        <artifactId>jersey-test-framework-inmemory</artifactId> 
        <version>${jersey1.version}</version> 
    </dependency> 
    

唯一的缺點是,如果您有任何依賴在某些特定的Servlet功能上,您可能無法獲得在這裏。

0

只要看看Jersey Test Framework。您可以以簡單的方式爲您的Web服務創建測試。如果你真的需要嚴格的單元測試,你應該創建一個你的資源類的實例,模擬任何依賴關係並做一些斷言。顯示一個示例代碼。