搜尋

搜尋結果

為程所困-是什麼讓你不想寫自動化測試?
科技新知
MacauYeah・2025-01-08

測試場 VS 自動化測試 筆者一直地更新自己過去所編寫的程式,很恐怖的是,那時的自己很少思考過怎樣寫測試Test Case。致使每次做更新時,都膽戰心驚,要手動建立測試場,人肉去測試每個可能有受影響的地方。在那些年的時候,有能力自己搭建測試場,已經是萬幸。但當面對一些要長期維護的程式,測試場的人肉測試並不是一個有效的方法,一來費時間,二來人腦記憶並不可靠。單靠自己去想想那些地方受影響,再測試,某程度是在挑戰人腦的記憶上限。如果是團隊合作,就更麻煩,你以為修改不會影響到其他人,結果卻是翻天覆地。 所以為求長治久安,編寫自動化測試,是有必要的。這些自動化測試,都算是回歸測試,每次程式有任何地方改動,都確保所有自動化測試被通過。理想始終是理想,但實際操作又會遇到怎麼的問題? 以筆者剛更新的程式為例,難以測試主要是當初沒有想過要測試這件事,所以程式結構通常是【連續順序】地執行。想分段測試?除非先重構。 Function中太多自己創建的Object 回顧自己的程式,初期編寫時,總會我手寫我心,每想要創建任何資源,在java中就會使用 new 字眼,或是自行呼叫某些 builder 類來取得資源,這是其中一個令自己無法寫測試的原因。 我們要想想,這些資源,是不是自己Function中所關心的核心。如果這個資源是被直接回傳的,我們要保留,如果它是HttpClient,只是要來獲取其他資源的媒介,我們或許可以利用依賴注入來取得它,即是把 HttpClient 改為經呼叫方傳入。注入的好處時,我們可以在Test中,修改那些資源的行為和結果。更進一步的是,把那些資源改為 interface 的方式存取,那麼在 Test 中就能更任意地控制該資源的行為。 首次重構某些資源成為依賴注入,大部份都會影響呼叫方,很多地方都要重寫。不論使用constructor injection, setter injection, annotation injection 等,上傳呼叫方,或多或少都會要加減改變參數。極致地,我們把構建都交給Program 框架去做,例如Spring Boot中,各種資源,都交給框架去自動配致。當然,這種做法的學習成本高,除錯成本也高。 【注入】其實是想在控作那些資源,在測試中運行得到固定的行為。使用前述的HttpClient例子,當我們業務邏輯是先訪問外部Web API,再根據結果做處理,那麼我們測試時,就會想模擬Web Api的結果。如果要做到自動化測試,最強硬的手段,就修改自己的HttpClient,模疑給出固定結果。 想要做到這種,在傳統的Java中,我們需要透過進一步抽離Interface去做。但這樣做很累,所以筆者通常會用如Mockito的程式庫,去修改HttpClient的行為。有興趣直接看程式碼的讀者,可以去看 github 。 當然,上述的 HttpClient 例子,使用測試場也有可做測試,自己再去模擬那些Web Api的回傳,有些情況下,這樣會更真實,但大家就必需好好定義測試場的行為。因為測試場可能與團隊的其他成員所共用,有機會其他人可能想要更多互動的測試方式,而非固定的結果。但並上非固定結果的測試場,自動化要測試的可控度就減少。

日常打卡!愛美你也可以選擇到這裏拍拍拍喲!
生活在我城
澳門生活圈・2019-10-19

​白鴿巢前地 澳門白鴿巢公園占地廣闊,園內小山環疊,古木參天,遍植花草,鳥鳴不絕於耳。即使盛夏時節,處身其間,仍是宛如遊清涼世界。 由於相傳葡國著名詩人賈梅士(LuisdeCamoes)曾在這裏隱居,並寫下不朽史詩《葡國魂》,葡人在公園中的石洞中豎立了賈梅士銅像,又稱此公園為賈梅士公園。這位生於四百多年前的賈梅士的銅像,是一八六六年由葡人馬葵士鑄造的。 公園地上還有10幅以《葡國魂》史詩為題材的葡式石砌圖。廣場設有噴水池及大型藝術雕塑ldquo;擁抱rdquo;。白鴿巢公園偶然會舉行露天音樂會,還有一年一度的聖安多尼聖像巡遊。 白鴿巢公園之得名甚有淵源。十八世紀中,此處原為葡籍富商馬葵士之寓。此人喜養白鴿,達數百只之多,翱翔天際,景甚壯觀;樓閣詹宇,遠觀若巢,逐得此名。 白鴿巢公園旁有一座兩層高具有南歐建築特色的建築物,這就是賈梅士博物院原址,現為東方基金會會址。為了表示對詩人的敬意和紀念,每年的6月10日為詩人舉行隆重的紀念儀式。 白鴿巢公園黃營均圖書館為秘魯華僑黃營均先生捐資興建的第二間公園圖書館,於1999年11月9日落成啟用。圖書館分兩層,上層為兒童圖書室,下層為圖書、報紙及雜志閱讀區,共藏書約16,000冊。 想要一次性拍個夠? 就來白鴿巢公園吧 這裏圍繞著各種建築特色 是個發朋友圈的好地方喲!

【韓國。首爾】※景點※ 南怡島 ~ 秋天被楓葉包圍小島,《冬季戀歌》拍攝場地 (含交通教學ITX青春列車)
走遍世界
80後愛旅行✈️・2018-10-12

南怡島位於京畿道與江原道交界處, 是在1944年興建清平水庫時被北漢江淹沒而形成的內陸島。 △ 島內禁止車輛出入 △ ★ 最佳參觀季節為5月、78月、10月 ★ 交 通 方法一 坐地鐵到1號線清涼里청량리 rarr; 轉ITX 청춘青春列車去加平 가평 Gapyeong 方法二 坐地鐵到1號線上鳳站상봉역 rarr; 轉地鐵京春線至加平 가평 Gapyeong 我們使用的是方法一, 我們由明洞坐地鐵到清涼里청량리 站 ★ ITX青春列車並不適用Tmoney交通卡, 去程的票我們是先在網上預訂 httpwww.letskorail.comebizbfEbizbfForeign_pr16100.dogubun=1 $ 清涼里站 加平站 成人4,300韓元、兒童2,100韓元 來到地鐵清涼里청량리, 會有指示到ITX青春列車換乘點 跟著指示走會到ITX青春列車的方向, 途中會見到這種機器 圖片轉自韓國觀光公社 把Tmoney在機器quot;綠quot;色邊刷一下, 表示在清涼里청량리這個站已經下車 ★ ITX青春列車並不適用Tmoney交通卡 圖片轉自韓國觀光公社 ★ 值得一提的是網上預約後的取票處 ★ 由於當時我們找了後久都沒找到, 加上時間緊迫我就沒有拍照 但這資訊很重要 當我們跟著示指一直走, 會直接到達ITX的候車月台, 但我們還沒取票怎麼辦 其實當你到達月台後, 會發現旁邊還有一個手扶梯往上 上去後直接出閘會發現是一個很大的售票廳, 在這邊找到櫃台出示預約單和護照就可以取票了 當時我找到快到點才找到的 幾經辛苦終於把票拿到手了 然後沿著剛才的路回去月台候車就好了 候車月台上有一間便利店, 可以在這裡買點小吃上車 車到了, 按著票上的位置和車卡找座位 由清涼里청량리到加平가평, 車程約30分鐘 車上很舒適, 可以享受一下這半小時的車程 還沒下車已經看到外面的風光 到達加平 가평 在加平가평車站外面有的士站, 就在那裡坐的士到碼頭, 再坐船到南怡島。 到達碼頭後有兩種方法進入南怡島 方法一是坐船, 是最多人選擇的方法。 約十分鐘半小時有一班船, 票價一人是10,000 ₩ , 擁有外國人護照是8,000 ₩ 方法二是高空滑索 費用 38,000 ₩ 開放時間 410月 09001900 113月 09001800 ※ 視天候狀況雨、雪、強風等決定是否營業 我們是選擇方法一坐船到南怡島 秋季是個欣賞楓葉的好季節, 因此有很多人選擇進入南怡島 買完船票後已經很到長長的人龍要坐船到南怡島 約十分鐘半小時有一班船, 票價一人是10,000 ₩ , 擁有外國人護照是8,000 ₩ 上船了 船上人真的很多, 船上也擠 這個就是高空滑索入島的鋼索 出甲板上看看風景, 船程幾分鐘就到 快到岸的時候看到海中有一個雕塑 下船了 人真的不是一般的多 嚇死寶寶了 要quot;入國quot;了 南怡島真的到處都是楓葉, 是秋季賞楓的好地方 雖然我們都還沒吃午餐, 但是一直走都忍不住要拍照了 紅葉真的好美 原來小島上還有小火車呢 走進這個「百楓密園」 金色和紅色的楓葉交錯著, 互相輝影... 走到種植楓葉的小山坡上, 這裡風景猶如楓葉隧道一樣 就算是不假日, 來賞楓的人流一點也沒減少 看完滿滿的紅色, 繼續前進還有綠油油的樹木和荷葉 「叢林蓮池」 還有一個仿新加坡的魚尾獅呢 一個親親大自然的地方, 看到有隻大松鼠 來到中段終於見到有餐廳 還記得我們還沒吃午餐的嗎=.=quot; 這裡有幾間餐廳都在附近的 我們去了一間叫「南門」的餐廳, 是吃傳統韓餐的。 餐牌 httpsnamisum.comzhhansdishrestaurantmenunammun 吃過午餐後, 繼續去拍照囉 Unicef Hall 「將軍址」 色彩繽紛的手信店 「銀杏路」 秋天這裡滿滿的銀杏葉, 變成一片黃色的海洋。 這是冬季戀歌的拍攝地 這是一個浪漫的地方, 連地上的落葉都被掃成心型呢♡ 在南怡島上逗留了一個下午的時間, 其實還有些地方是沒有逛到 而島上亦有酒店的 希望下次能在冬季再來一次, 感受下遍地雪花的南怡島。 回程時就到下船的地方排隊, 我們大概有排了差不多一小時才到我們呢 人真的很多很多 回到加平碼頭後再按著原來的路線在碼頭坐車回加平站 如果沒預先訂購回程車票的話, 到達火車站後可以用自助售票機買票 圖片轉自韓國觀光公社 1. 買票時點選英文 2. 選擇時間、目的地、購買張數 3. 選擇列車出發時間 ★ 旺季時可能無法買到即班車票 4. 選擇現金현금或信用卡신용카드支付, 付款完成後即可取得車票 南怡島 南怡島 강원도 춘천시 남산면 남이섬길 1 江原道春川市南山面南怡島街1 httpsnamisum.comzhhans ITX訂票 httpwww.letskorail.comebizbfEbizbfForeign_pr16100.dogubun=1 方法一 坐地鐵到1號線清涼里청량리 rarr; ITX 청춘青春列車去加平 가평 Gapyeong 方法二 坐地鐵到1號線上鳳站 상봉역 rarr; 轉地鐵京春線至加平 가평 Gapyeong 檢視較大的地圖