测试用例中的循环依赖

时间:2018-09-10 06:30:54

标签: dependencies elixir phoenix-framework ex-unit

我在伞项目设置中有三个应用程序

  1. 数据层
  2. ApiLayer
  3. OtherLayer 其他一些层(但必填)

现在我在混合文件中定义了这样的依赖项 应用 ApiLayer 具有

{:OtherLayer, in_umbrella: true},
{:Datalayer, in_umbrella: true}

应用程序数据层与伞形应用程序无关 应用 OtherLayer 具有

{:Datalayer, in_umbrella: true}

但是从应用程序 ApiLayer 调用的测试用例需要调用在 Datalayer 中定义的上下文,而又需要访问 Datalayer 的上下文 OtherLayer 的某些功能,但不能。因为如果我在 Datalayer 中添加其依赖性。这将是循环依赖的情况。我需要通过测试用例。有什么办法可以加载一些代码块而不创建循环依赖关系? 任何帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

如果OtherLayer始终包含在已经具有Datalayer作为依赖关系的应用程序中,那么您可以从Datalayer删除OtherLayer依赖关系,因为该应用程序将仍然包含在您的发行中。如果您需要将OtherLayer作为独立应用程序进行构建,请创建一个具有OtherLayerWrapperDatalayer为依存关系的OtherLayer应用程序。