# 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.