我刚刚开始学习测试驱动开发和单元测试,但似乎这两个概念都非常依赖接口结构的使用。鉴于一个接口是一个抽象的构造,没有实现,在我看来,接口公开的数据必须由消费接口的任何东西重新验证。所以我想知道...可测试设计是否需要持续验证,还是我错过了一些东西?可测试设计是否需要连续验证?
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