說明,當(dāng)服務(wù)器執(zhí)行到該注 解時,服務(wù)器可以啟動DTest測試框架。
[0057] 步驟202,根據(jù)測試代碼中的第三注解將被測代碼注入至預(yù)設(shè)測試框架中的預(yù)設(shè) 工具類中;
[0058] 當(dāng)服務(wù)器執(zhí)行到測試代碼中的第三注解時,服務(wù)器可以根據(jù)該第三注解將被測代 碼注入至預(yù)設(shè)測試框架中的預(yù)設(shè)工具類中。其中,第三注解為用于將被測代碼注入至預(yù)設(shè) 測試框架的預(yù)設(shè)工具類中的注解。
[0059] 比如,以預(yù)設(shè)測試框架為DTest測試框架且第三注解為OAutowired為例,當(dāng)服務(wù) 器執(zhí)行到該注解時,服務(wù)器可以通過OAutowired將被測代碼注入至DTest測試框架中的 MvcTestUtil工具類中。
[0060] 步驟203,通過預(yù)設(shè)測試框架檢測測試代碼中是否包含第一注解;
[0061] 預(yù)設(shè)測試框架被啟動之后,服務(wù)器可以通過預(yù)設(shè)測試框架檢測測試代碼中是否包 含第一注解。其中,該第一注解用于請求使用遠程服務(wù)器對被測代碼進行遠程測試。
[0062] 比如,以第一注解為ORemote為例,DTest測試框架可以檢測測試代碼中是否包含 該ORemote注解。
[0063] 步驟204,如果測試代碼中包含第一注解,通過預(yù)設(shè)測試框架發(fā)送測試請求至遠程 服務(wù)器。
[0064] 如果預(yù)設(shè)測試框架的檢測結(jié)果為測試代碼中包含第一注解,則服務(wù)器可以通過該 預(yù)設(shè)測試框架發(fā)送測試請求至遠程服務(wù)器。相應(yīng)的,遠程服務(wù)器接收到該測試請求之后,遠 程服務(wù)器對被測代碼進行遠程測試??蛇x地,預(yù)設(shè)測試框架可以使用http-client, jar包 發(fā)送Http請求至遠程服務(wù)器,本實施例對此并不做限定。
[0065]可選地,服務(wù)器通過預(yù)設(shè)測試框架檢測到測試代碼中包含第一注解時,服務(wù)器可 以繼續(xù)執(zhí)行測試代碼中的后續(xù)代碼,并在執(zhí)行到預(yù)設(shè)工具類所對應(yīng)的用于發(fā)送測試請求的 注解(如DTest測試框架中的MvcTestUtil#post〇)時,服務(wù)器通過預(yù)設(shè)測試框架發(fā)送測 試請求至遠程服務(wù)器,本實施例對此并不做限定。
[0066] 可選地,預(yù)設(shè)測試框架發(fā)送測試請求至遠程服務(wù)器的步驟可以包括:通過預(yù)設(shè)測 試請求中的預(yù)設(shè)工具類發(fā)送測試請求至遠程服務(wù)器。
[0067]可選地,第一注解的注解內(nèi)容中可以包括遠程服務(wù)器的地址和端口,所以預(yù)設(shè)工 具類可以根據(jù)遠程服務(wù)器的地址和端口發(fā)送測試請求至遠程服務(wù)器。
[0068]比如,以第一注解為 @Remote( "192. 268. 0? 151 :8090")為例,MvcTestUtil 工具 類可以發(fā)送測試請求至地址為192. 268. 0. 151端口為8090的服務(wù)器。
[0069] 需要補充說明的一點是,如果預(yù)設(shè)測試框架的檢測結(jié)果為測試代碼中不包含第一 注解,則此時預(yù)設(shè)測試框架可以啟動集成的本地測試框架Spring-test對被測代碼進行本 地測試,本實施例對此并不做限定。
[0070] 比如,以DTest測試框架集成了 Spring-test測試框架為例,當(dāng)DTest測試框架檢 測到測試代碼中不包含^Remote時,DTest測試框架可以啟動Spring-test測試框架對被 測代碼進行測試。
[0071] 需要補充說明的另一點是,本實施例中的預(yù)設(shè)測試框架可以是基于Junit測試框 架擴展得到的框架,也即本實施例中的測試代碼的編寫類似于Junit中的測試代碼的編 寫,所以開發(fā)人員可以很容易獲知該如何使用本實施例中的預(yù)設(shè)測試框架,降低了用戶的 學(xué)習(xí)成本。并且當(dāng)預(yù)設(shè)測試框架是基于Junit擴展得到的測試框架時,測試代碼中還可以 包括用于表示使用Junit測試框架的注解OTest,本實施例對此并不做限定。
[0072] 需要補充說明的再一點是,以預(yù)設(shè)測試框架為DTest測試框架,且DTest測試框架 是基于Junit擴展得到的測試框架為例,在本實施例的一個應(yīng)用場景中,測試代碼中的部 分代碼可以為:
【主權(quán)項】
1. 一種代碼測試方法,其特征在于,所述方法包括: 檢測測試代碼中是否包含第一注解,所述第一注解用于請求使用遠程服務(wù)器對被測代 碼進行遠程測試; 如果所述測試代碼中包含所述第一注解,則發(fā)送測試請求至所述遠程服務(wù)器,所述測 試請求用于請求所述遠程服務(wù)器對所述被測代碼進行遠程測試。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述檢測測試代碼中是否包含第一注解, 包括: 根據(jù)所述測試代碼中的第二注解啟動預(yù)設(shè)測試框架,所述第二注解用于請求使用所述 預(yù)設(shè)測試框架對所述被測代碼進行測試; 通過所述預(yù)設(shè)測試框架檢測所述測試代碼中是否包含所述第一注解; 所述發(fā)送測試請求至所述遠程服務(wù)器,包括: 通過所述預(yù)設(shè)測試框架發(fā)送所述測試請求至所述遠程服務(wù)器。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 根據(jù)所述測試代碼中的第H注解將所述被測代碼注入至所述預(yù)設(shè)測試框架中的預(yù)設(shè) 工具類中; 所述通過所述預(yù)設(shè)測試框架發(fā)送所述測試請求至所述遠程服務(wù)器,包括: 通過所述預(yù)設(shè)工具類發(fā)送所述測試請求至所述遠程服務(wù)器。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,所述通過所述預(yù)設(shè)工具類發(fā)送所述測試 請求至所述遠程服務(wù)器,包括: 所述第一注解包括所述遠程服務(wù)器的地址和端口,所述預(yù)設(shè)工具類根據(jù)所述遠程服務(wù) 器的地址和端口發(fā)送所述測試請求至所述遠程服務(wù)器。
5. 根據(jù)權(quán)利要求2至4任一所述的方法,其特征在于,所述方法還包括: 通過所述預(yù)設(shè)測試框架根據(jù)所述測試代碼中的第四注解對所述被測代碼進行虛擬 Mock測試;和/或, 通過所述預(yù)設(shè)測試框架根據(jù)所述測試代碼中的第五注解對所述被測代碼進行參數(shù)化 測試。
6. 根據(jù)權(quán)利要求1至4任一所述的方法,其特征在于, 如果所述測試代碼中不包含所述第一注解,則對所述測試代碼進行本地測試。
7. -種代碼測試裝置,其特征在于,所述裝置包括: 代碼檢測模塊,用于檢測測試代碼中是否包含第一注解,所述第一注解用于請求使用 遠程服務(wù)器對被測代碼進行遠程測試; 請求發(fā)送模塊,用于在所述代碼檢測模塊的檢測結(jié)果為所述測試代碼中包含所述第一 注解時,發(fā)送測試請求至所述遠程服務(wù)器,所述測試請求用于請求所述遠程服務(wù)器對所述 被測代碼進行遠程測試。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述代碼檢測模塊,包括: 框架啟動單元,用于根據(jù)所述測試代碼中的第二注解啟動預(yù)設(shè)測試框架,所述第二注 解用于請求使用所述預(yù)設(shè)測試框架對所述被測代碼進行測試; 代碼檢測單元,用于通過所述框架啟動單元啟動的所述預(yù)設(shè)測試框架檢測所述測試代 碼中是否包含所述第一注解; 所述請求發(fā)送模塊,還用于通過所述預(yù)設(shè)測試框架發(fā)送所述測試請求至所述遠程服務(wù) 器。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 代碼注入模塊,用于根據(jù)所述測試代碼中的第H注解將所述被測代碼注入至所述預(yù)設(shè) 測試框架中的預(yù)設(shè)工具類中; 所述請求發(fā)送模塊,還用于通過所述預(yù)設(shè)工具類發(fā)送所述測試請求至所述遠程服務(wù) 器。
10. 根據(jù)權(quán)利要求9所述的裝置,其特征在于, 所述請求發(fā)送模塊,還用于在所述第一注解包括所述遠程服務(wù)器的地址和端口時,所 述預(yù)設(shè)工具類根據(jù)所述遠程服務(wù)器的地址和端口發(fā)送所述測試請求至所述遠程服務(wù)器。
11. 根據(jù)權(quán)利要求8至10任一所述的裝置,其特征在于,所述裝置還包括: 第一測試模塊,用于通過所述預(yù)設(shè)測試框架根據(jù)所述測試代碼中的第四注解對所述被 測代碼進行虛擬Mock測試;和/或, 第二測試模塊,用于通過所述預(yù)設(shè)測試框架根據(jù)所述測試代碼中的第五注解對所述被 測代碼進行參數(shù)化測試。
12. 根據(jù)權(quán)利要求7至10任一所述的裝置,其特征在于, 第H測試模塊,用于在所述代碼檢測模塊的檢測結(jié)果為所述測試代碼中不包含所述第 一注解時,對所述測試代碼進行本地測試。
【專利摘要】本發(fā)明公開了一種代碼測試方法和裝置,屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域。所述代碼測試方法包括:檢測測試代碼中是否包含第一注解,所述第一注解用于請求使用遠程服務(wù)器對被測代碼進行遠程測試;如果所述測試代碼中包含所述第一注解,則發(fā)送測試請求至所述遠程服務(wù)器,所述測試請求用于請求所述遠程服務(wù)器對所述被測代碼進行遠程測試。解決了現(xiàn)有技術(shù)中開發(fā)人員需要編寫復(fù)雜的請求代碼之后才能實現(xiàn)遠程測試,也即對被測代碼進行遠程測試的測試效率較低的問題;達到了可以提高對被測代碼進行遠程測試的測試效率的效果。
【IPC分類】G06F11-36
【公開號】CN104536884
【申請?zhí)枴緾N201410788314
【發(fā)明人】陳文龍
【申請人】廣州酷狗計算機科技有限公司
【公開日】2015年4月22日
【申請日】2014年12月17日