【问题标题】:Ivy: using a common library for unit tests while avoiding circular dependenciesIvy:使用通用库进行单元测试,同时避免循环依赖
【发布时间】:2016-10-01 05:15:22
【问题描述】:

我有几个 Ivy 项目 - 我们称它们为 ABCD,它们需要一个共同的单元测试基础。为了重用代码,我创建了一个单独的项目Z 只是为了保持这个单元测试的公共基础,并将它作为依赖项添加到各种 Ivy 项目中(顺便说一下,我使用的是 JUnit)。

问题是:项目Z 依赖于项目AB 中的一些类。结果:循环依赖。 Z 依赖于 AB 用于这个“单元测试基础”,AB 依赖于 Z 用于单元测试。

我了解循环依赖是不可取的。每次编译代码时都会收到警告。

有什么建议吗?

【问题讨论】:

    标签: java unit-testing junit ivy circular-dependency


    【解决方案1】:

    答案很简单,但也相当困难。

    将依赖于 A 或 B 的事物移出 Z 并移入 A 和 B。

    当这不起作用时,将 Z 依赖的 A 和 B 中的东西移动到 Z 中。

    重复。

    您可能会发现您的类具有混合职责,需要将它们分开,以便可以分离应该存在于 A/B/Z 中的关注点。

    存在可以帮助您可视化依赖关系的工具,这可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2018-09-03
      • 1970-01-01
      • 2013-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 2018-06-01
      • 2011-02-06
      相关资源
      最近更新 更多