在elixir中运行伞形应用程序的集成/验收测试

Pet*_*ton 5 testing integration-testing elixir erlang-otp

我有一个由雨伞应用程序组成的项目.伞下的子应用程序包括核心/主/域应用程序,交付应用程序,数据库支持的存储库和内存存储库.

我想写一些发送http请求并检查数据库中的更改的集成测试.由于这些测试需要协调几个子应用程序,因此这些测试属于伞形应用程序,而不属于单个子项测试目录.

默认的伞状项目不会使用测试目录创建,因此我不确定它们属于何处.

我创建了一个测试目录并添加了一个test_helper.exs调用ExUnit.start和一个project_test.exs测试.但是当我从伞形目录运行混合测试时,它只在apps/component/test目录中找到test而不是test目录中的测试

Jos*_*lim 2

伞式项目实际上是一个伞式设施,您不能向其中添加代码或测试。我可以看到两个选项:

  1. 将测试添加到依赖于所有其他应用程序的应用程序(如果有的话)

  2. 在应用程序中创建另一个应用程序,您将在其中存储所有集成测试

无论如何,请记住 ExUnit 有标签的概念,您可以对所有集成测试进行标签,并使用标签系统随意包含/排除测试。这应该可以帮助您管理测试数量的增长。