[英]Integration testing with spark server
我正在嘗試將我的Spark服務器設置為IT。 我的意圖是測試所有控制器功能。 我考慮了以下幾種選擇:1.設置一台服務器,該服務器將在運行測試時啟動,並在測試結束時終止。
該解決方案的問題在於,我必須將整個服務器邏輯重寫為新服務器(每次在測試之前設置服務器時,都要從頭啟動服務器)。
這是我最喜歡的一個,但這意味着我必須模擬一個火花請求。 我正在嘗試建立一個火花請求和一個火花響應對象,以發送到我的控制器,但是還沒有找到正確執行此操作的單一方法(以及如何發送參數,設置URL路由等)。
@Test
Public void testTry(){
String expectedName = "mark";
myController myCtl = new myController()
Request req = null;
Response res = null;
String childName = myCtl.getChildNameFromDB(req, res);
assertEquals(childName, expectedName);
}
例如,代替:
String username = req.params(""usrName")
這將是:
Strimg username = "mark"
但是該解決方案將需要復制大量代碼,並且您可能會錯過一些代碼行,這可能會使測試在現實中控制器功能發生故障(或無法按預期提供)時成功。
您如何看待Integratiom測試Spark驅動的服務器? 我也對新的解決方案持開放態度。
如果要進行集成測試,我建議您使用第一種方法,即使用隨機選擇的免費TCP端口和HTTP客戶端庫(為此,我通常使用出色的HttpRequest庫)。
這種方法的主要問題在於,由於Spark API是靜態的,因此您將無法在測試用例/套件之間停止/啟動服務器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.