【问题标题】:Why tighly coupled code is hard to unit test?为什么紧密耦合的代码很难进行单元测试?
【发布时间】:2015-12-18 12:56:34
【问题描述】:

我听说紧密耦合的代码很难进行单元测试。我不明白怎么办?谁能举例说明一下。

【问题讨论】:

  • @StefanBeike 基本上是未分层的代码,在实现类之间具有直接依赖关系,没有接口或其他机制(例如事件或消息传递)会提供松散耦合的代码。

标签: java unit-testing tightly-coupled-code


【解决方案1】:

紧密耦合意味着您使用实现而不是接口,从而在创建模拟实现和其他测试实用程序时减少选项数组。使用模拟框架(如 Android 的 Mockito)可能会有所帮助,但仍应避免,因为这是一种不好的做法。

但是,这可能是高度耦合代码中问题最少的方面。通常不鼓励这样做,因为它限制了重构和/或扩展的可能性。您应该始终在代码中保留一定程度的抽象,以便能够轻松实现新模块并更改当前实现。但不要过度,因为在接口-实现独占对上有很多的程序是非常冗余且难以调试的。

一般来说,您应该查看一些开源项目并了解这些项目是如何进行测试的(例如,对于 Android,请查看 Google I/O 应用)以及测试方法如何反映在代码中。这一切都伴随着经验,没有比分析专业人士的做法更好的学习方法了:-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 2014-02-04
    • 2018-01-06
    相关资源
    最近更新 更多