# Unit Test 觀念學習 - 3A Pattern、名詞 (SUT、DOC) - [3A Pattern](https://hackmd.io/P9qpHkQ2R7OFYM1ZlFVJdA#3A-Pattern) - [關於測試的一些術語](https://hackmd.io/P9qpHkQ2R7OFYM1ZlFVJdA#%E9%97%9C%E6%96%BC%E6%B8%AC%E8%A9%A6%E7%9A%84%E4%B8%80%E4%BA%9B%E8%A1%93%E8%AA%9E) --- #### 3A Pattern - 3A Pattern 分別為底下三種單字的組合,又稱 **Arrange-Act-Assert** 模式: - **Arrange**:透過安排階段可以在執行行動前針對一些依賴項目去進行配置,如會有 **Test Double** (測試替身),或是一些準備用於行為前置的程式碼,如需先 render 對應元件。 - **Act**:對被測試的函式或元件採取某種行動,如調用函式捕獲值,或是透過模擬使用者行為去操作元件等。 - **Assert**:斷言,斷言函式的輸出值,或使用者操作時元件反應是否正常(能被調用或能顯示對應結果)。 --- #### 關於測試的一些術語 - **Test Double**:測試替身,可以幫助在某些**不想調用依賴套件或依賴元件的情況下**,模擬該依賴套件或該元件,將測試的邏輯與依賴項切分開。 - **SUT**:**被測系統(System Under Test)**,該測試項目(如函式)本身。 - **DOC:依賴元件 (Depended On Component)** ,該測試項目會去依賴的其他元件或函式、套件等。 ( 備註:於初學時透過註解 3A Pattern 可幫助釐清觀念,熟悉後為維持程式碼的乾淨,並不會特別建議每次都備註唷!) --- 參考文章 https://freecontent.manning.com/making-better-unit-tests-part-1-the-aaa-pattern/ https://yu-jack.github.io/2020/10/05/unit-test-best-practice-part-4/ http://teddy-chen-tw.blogspot.com/2014/09/test-double1.html
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up