多執行緒--做單元測試時,使用執行緒池發現並沒有執行指定程式碼,直接跳過
案例
今天做單元測試除錯介面,發現介面呼叫成功但是並沒有執行執行緒池執行的方法,而是直接跳過執行程式碼
ExecutorService pool = Executors.newFixedThreadPool( 2 );
public void callInterfaceCreditease(final String idcard,final String name,final String mobile){ try{ ExecutorService pool = Executors.newFixedThreadPool( 2 ); //介面 pool.execute(new Runnable() { @Override public void run() { creditCardCrediteaseService.doFetchCreditData(name, idcard, mobile); } }); //釋放執行緒池資源 pool.shutdown(); }catch(Exception e){ log.error("呼叫介面異常:",e); } }
解決方案
原因是因為做單元測試時跟WEB專案不同,執行緒還沒有開始啟動,主執行緒已經關閉,只要我們加入一段程式碼,讓主執行緒不關閉,這樣就可以跑子執行緒的方法了System.in.read();
@Test public void testPostauthinfo() throws Exception { TestRequest req = new TestRequest(); req.setPhoneNum( "13186666376" ); req.setAccountId( "3534e5334333333d434" ); req.setRegDate( Calendar.getInstance().getTime() ); req.setAuthResult( 1 ); req.setAuthDate( Calendar.getInstance().getTime() ); req.setBizKindName( "XNXYK" ); req.setRegSrcName( "IOS" ); req.setUserName( "張軍" ); req.setIdCardNum( "xxxxxxxxxxxx" ); Bse64JsonResponse resp = encryptionBase64Param( Json.toJson( req ) ); restService.postauthinfo( resp.getSign(), resp.getJsonStr() ); System.in.read();//加入該程式碼,讓主執行緒不掛掉 }
相關推薦
多執行緒--做單元測試時,使用執行緒池發現並沒有執行指定程式碼,直接跳過
案例 今天做單元測試除錯介面,發現介面呼叫成功但是並沒有執行執行緒池執行的方法,而是直接跳過執行程式碼 ExecutorService pool = Executors.newFixedThre
用FireFox的webdriver做自動化測試時,FireFox版本不宜過高
start Firefox browser...... org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox con
進行junit單元測試時,報找不到方法錯誤
控制檯列印的錯誤: Caused by: java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotatedElementUtils.findAllMergedAnnotations(Ljav
使用Nunit+Access做單元測試時連線已經關閉
今天在使用Nunit+Access做單元測試時,本來正常的程式碼突然間不能正常通過在VS2005 Express中除錯則可以正常通過,正在那悶中發現我打開了Access,結果關了Access程式碼則能正常通過了
使用monkey測試時,一個控制WiFi狀態的多執行緒類
2018年09月26日更新:新增WiFi測試APP下載地址 傳送門 -----------------------------------分割線------------------------------------ 本人在使用monkey進行手機APP效能測試的時候,
SpringBoot使用@RunWith(Parameterized.class)進行引數化測試同時支援依賴注入,以及CommandLineRunner在單元測試時不執行主程序
問題提出 在使用SpringBoot進行單元測試的時候,我發現了兩個問題 使用引數化測試的時候,必須使用 @RunWith(Parameterized.class),而對Spring進行單元測試時,如果想使用依賴注入,即使用 @Autowired 註解,需要使
多執行緒共享MySQL連線時,使用事務的危險!
在多執行緒程式中,多個執行緒共享一個MySQL連線是很常見的!如今MySQL(我使用的是MySQL 5.0.51a)只要選擇BDB或者InnoDB建表(二者區別:BDB支援頁級鎖定,InnoDB支援行級鎖定),即具備事務處理能力!然而,在多執行緒共享一個MySQL連線時,使用事務卻存在的諸多危險,分析如下!
MySQL實戰 | 01-當執行一條 select 語句時,MySQL 到底做了啥?
原文連結:當執行一條 select 語句時,MySQL 到底做了啥? 也許,你也跟我一樣,在遇到資料庫問題時,總時茫然失措,想重啟解決問題,又怕導致資料丟失,更怕重啟失敗,影響業務。 就算重啟成功了,對於問題的原因仍不知所以。 本文開始,記錄學習《MySQL實戰45講》專欄的過程。 也許有人會問,你記
領導讓我一個開發去做單元測試,怎麼辦?
不少公司有單元測試的需求,但單元測試到底誰來做,每個公司都不一樣。開發寫單測優點:1、開發對程式
Sprin g整合 JUnit4 測試時,使用 @ContextConfiguration 註解引入多個配置檔案
一般情況下: @ContextConfiguration(Locations="../applicationContext.xml") 多個檔案時,可用{} @ContextConfiguration(locations = { "class
LR做介面壓力測試時,後臺列印日誌的異常資訊
一、環境:tomcat 應用:web service 介面(java) 二、LR 11、Cent Os 三、併發人數5人,不做遞度設定,不設定 思考時間 ,設定PACING 為隨機1秒至2秒 四、TOMCAT日誌列印的資訊: 警告: Intercepto
Mocha單元測試時出現Cannot find module 'chai'
com blog -c 流行 javascrip 文件 target 框架 www 在自己單元測試的時候,是不是遇到過全局安裝了“chai”的斷言庫,但測試時候還是找不到問題。 $ npm install -g mocha 原因就在於全局安裝,測試只是針對當前的文件項目
python + unittest 做單元測試之學習筆記
stl unittest 例子 gin pre log script 有關 assert 單元測試在保證開發效率、可維護性和軟件質量等方面有很重要的地位,所謂的單元測試,就是對一個類,一個模塊或者一個函數進行正確性檢測的一種測試方式。 這裏主要是就應用 python + u
Jqgrid中動態生成colModel實現雙擊編輯整列時,鼠標定位在當前雙擊指定單元格
jqGrid使用鼠標定位雙擊的單元格通過配置ondbclick事件來實現雙擊功能ondblClickRow:function(rowid,iRow,iCol,e) {//獲取表格的初始model var colModel =$(TableId).jqG
做技術選型時,要註意些什麽?
相關 zookeepe 閑聊 基本 新語言 tpi ear 工作態度 復制 FROM https://36kr.com/p/5097526.html 編者按:本文來自微信公眾號"InfoQ"(ID: infoqchina),作者:周明耀,浙江大學工學碩士,13 年軟件研
Junit工具做單元測試
Junit 單元測試eclipse 創建Junit單元測試之後,提示: 問題原因:沒有導入Junit的 library解決方法: 在項目上點擊右鍵--->Properties--->Java Build Path--->(Libraries標簽)add Library-->JUnit4
jenkins 部署 並執行npm run dev 專案時,execute shell自動結束程序問題
使用 jenkins 部署 vue (npm run dev)專案時,部署狀態是顯示部署成功,但是服務沒有成功啟動,在做程序服務監控的時候發現,jenkins部署時候服務也啟動成功了,但是jenkins部署成功後 自動kill殺死或結束該程序和該程序的衍生的程序,那麼就讓jenkins不
單元測試時靜態方法注意點
Mockito 很強大, 但是它不支援靜態方法.所以, 就用Powermock了. 要測試的物件是Controller中的介面, 對單元測試來說, 這個待測試的街口應該是一個白盒的. 所以, 其中的第三方(service,其他靜態類)的呼叫都應該使用mock物件來stub起來. 下面是## 示例程式碼(隨
為什麼MySQL做查詢語句時,第一次會很慢,但是第二次,第三次就會變快
為什麼MySQL做查詢語句時,第一次會很慢,但是第二次,第三次就會變快 為什麼MySQL的查詢事務第一次執行會很慢,第二次,第三次就會快很多呢? 在國外,有個老外這麼提問 Hi, I have an sql query which takes 8 seconds i
Spring容器中的類做單元測試
SpringBoot測試步驟 直接在測試類上面加上如下2個註解 @RunWith(SpringRunner.class) @SpringBootTest 就能取到spring中的容器的例項,如果配置了@Autowired那麼就自動將物件注入 在測試環境中獲取一個bea