我剛剛開始學習測試驅動開發和單元測試,但似乎這兩個概念都非常依賴接口結構的使用。鑑於一個接口是一個抽象的構造,沒有實現,在我看來,接口公開的數據必須由消費接口的任何東西重新驗證。所以我想知道...可測試設計是否需要持續驗證,還是我錯過了一些東西?可測試設計是否需要連續驗證?
2
A
回答
1
一個接口通常被認爲是合同它(通過它的文檔)指定了它的實現者應該如何表現的規則。儘管編譯器無法看到或驗證實現者遵循這些規則,但程序只是假定所有實現者都遵循規則。例如,給定
public interface IPersonInfo {
// Returns a valid social security number.
String getSocialSecurityNumber();
}
的接口的消費者通常會假設實現者將只返回有效的社會安全號碼,讓消費者無需重新驗證。當然,這是假設您信任實施的代碼;如果這是例如一個用於外部Web服務或第三方插件的接口,您可能需要驗證返回值。然而,一般的做法是,在單個程序中,假定非正式規則將由實現者遵循(並且單元測試通常測試「規範」實現)並且接受如果某人開始使用該程序將會行爲不當一個不合格的實現。
+0
謝謝。這似乎是一個可行的模型。 –
相關問題
- 1. 驗證是否需要TCP?
- 2. 是否需要單元測試ActiveRecord驗證?
- 3. 設計解決方案是否需要概念驗證?
- 4. Android:getOrientation()是否需要連續重映射?
- 5. 線程需要檢查是否連續
- 6. 驗證測試臺端口需要指示還是不必要?
- 7. 驗證之前驗證是否需要驗證?
- 8. 是否需要輸入驗證?
- 9. 是否需要驗證$ _SERVER ['REMOTE_ADDR']?
- 10. SubmitField是否需要驗證器?
- 11. MongoDB選擇器是否需要驗證?
- 12. 是否需要驗證函數參數?
- 13. JMeter測試計劃驗證
- 14. 測試驗證是否正確
- 15. 檢測WiFi網絡是否需要身份驗證
- 16. 是否需要測試我的Java Servlet?
- 17. 如何測試是否需要kinit?
- 18. 測試URL是否需要SNI
- 19. TDD是否需要單元測試?
- 20. JUnit測試 - 是否需要調用JUnitCore.main()?
- 21. 可測試設計
- 22. 測試代理,看看它是否需要認證
- 23. 需要驗證用於創建連續陣列
- 24. 連續點擊驗收測試Ember.run.later
- 25. 如何檢查密碼是否滿足設計驗證要求?
- 26. 是否需要TFS 2010許可證?
- 27. 是否需要購買sencha許可證
- 28. 如何設置svnsync連續中斷連續重試? (UNIX腳本需要?)
- 29. 如何編寫單元測試來驗證WCF-RIA服務的DomainService查詢方法是否需要驗證?
- 30. 需要檢查我嘗試連接的服務器是否需要身份驗證?
http://en.wikipedia.org/wiki/Test-driven_development。它有很多信息。 – Esteban