anti-pattern :必须至少存在两个關键要素,才能將實際的反模式与簡單的不良习惯,不良做法或不良主意正式區分開来:
- Some repeated pattern of action, process or structure that initially appears to be beneficial, but ultimately produces more bad consequences than beneficial results, and
- A refactored solution that is clearly documented, proven in actual practice and repeatable.
投票一次您在野外看到的TDD反模式太多了。
James Carr的博客帖子和有關測試驅動開發yahoogroup的相關讨論
如果您找到了一个"未命名"的名稱,也可以發佈它们. One post per anti-pattern please 使選票有value。
我的既得利益是找到前n个子集,以便我可以在不久的將来的饭盒聚会中讨論它们。
- 6月前1 #
- 6月前2 #
The Free Ride / Piggyback 詹姆斯·卡爾(James Carr),蒂姆·奥丁格(Tim Ottinger)
而不是編寫新的測試用例方法来測試 another/distinct feature/functionality ,一个新的斷言(及其相應的動作,即AAA中的Act步骤)会在現有的測試用例中執行。 - 6月前3 #
Happy Path
測試停留在快乐的道路上(即預期結果),而無需測試邊界和例外情况。
JUnit反模式
- 6月前4 #
The Local Hero
一个測試用例,它依赖於特定的開發環境才能執行.結果是測試通過了開發箱,但在有人尝試在其他地方執行時失败。
The Hidden Dependency
与本地英雄密切相關的單元測試,需要在測試執行之前在某處填充一些現有資料.如果未填充该資料,則測試將失败,並且几乎不向開發人員表明它想要什麼,或者為什麼……迫使他们挖掘大量代碼,以找出其使用的資料應该来自哪裏. / p>
使用古老的.dll依赖於模糊和變化的.ini檔案(在任何给定的生产系統上始终不同步),使他们很难過很多次,更不用說在您的機器上存在了,而無需与負责這三个工作的三名開發人員进行廣泛協商 這些dll.感叹。
- 6月前5 #
Chain Gang
必须以一定順序執行的几个測試,即一个測試更改了系統的全域性狀態(全域性變數,資料庫中的資料),下一个測試依赖於该測試。
您经常在資料庫測試中看到這一點.而不是在
teardown()
中进行迴滚 ,測試会將其更改提交到資料庫.另一个常见原因是,對全域性狀態的更改没有包裝在try / finally塊中,该塊在測試失败時会清除。
相似問題
- tdd:Python unittest:以程式設計方式生成多个測試?pythontddunittesting2021-01-09 18:28
- tdd:單元測試中的隨機資料?unittestingtddmocking2021-01-09 17:56
- c#:如何使用NUnit測試与資料庫相關的代碼?c#databaseunittestingtddnunit2020-12-25 12:24
Second Class Citizens -測試代碼的重構程度不如生产代碼,包含大量重複的代碼,因此难以維護測試。