Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

孤立型/社交型 單元測試 問題 #5

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Conversation

ytyubox
Copy link
Member

@ytyubox ytyubox commented Dec 17, 2020

@WangWang0226 可以幫忙解釋 孤立型/社交型 的意思嗎?

目前我找到的來源有

  1. iT 邦幫忙文章: https://ithelp.ithome.com.tw/articles/10229734
  2. https://martinfowler.com/bliki/UnitTest.html

2 的作者是 马丁·福勒

@WangWang0226
Copy link

  • 社交型

受測物件會使用真實的依賴類別(前提是這些相依物件是可以完全掌控的、不變的),讓測試案例真實地執行一個完整的行為。如果你是 BDD 或 TDD 的實踐者,那麼你的單元測試就可能是跨多個類別的 社交型單元測試,因為測試的對象是 一個行為,而非一個類別。缺點是若有出錯,將較難找出原因是受測物件還是其依賴的其他類別。

  • 孤立型

為了確保受測程式不被影響,受測物件將不會使用真實的依賴類別。這樣出錯的話相對容易找出錯誤。孤立型單元測試 會利用測試替身(Test Doubles)模擬並隔離依賴

-整合測試

任何測試只要執行速度不夠快,結果不穩定,或用到無法控制、會改變的真實相依物件(時間、資料庫),它就是一個整合測試。

@ytyubox
Copy link
Member Author

ytyubox commented Dec 18, 2020

@WangWang0226 請問一下,你提供的訊息是你自己理解的,還是摘錄於其他人的文章(不是來自書聚的書籍)?
如果是其他人的文章,可以補上出處嗎?謝謝

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants