1

App 是一个自包含的代码单元, 每个App都有一个名字

有时候, 一个应用程序可能是被引用的以其他语言实现的库. 这对代码的可重用和模块化是一个非常好的方式, 但有时把所有App放在一个项目作为一个整体纳入版本控制之下, 允许更加方便的进行测试, 集成等等.

伞状项目就是作为一个容器包含一个或多个App, 让他们就像一个单一的App一样.

本节说明了如何使用Mix工具创建伞状项目.

1.生成一个伞状项目包含其他应用程序:

mix new --umbrella container

2.在container/apps目录下分别生成application_oneapplication_two两个应用程序:

cd container/apps
mix new application_one
mix new application_two

3.修改测试

container/apps/application_one/application_one_test.exs

test "the truth on application one" do
    IO.puts "Running Application One Tests"
    assert 1 + 1 == 2
end

container/apps/application_two/application_two_test.exs

test "the truth on application two" do
    IO.puts "Running Application Two Tests"
    assert 2 - 1 == 1
end

4.运行所有应用程序中的测试(在container目录下)

mix test

5.单独地运行测试. 首先运行第一个应用程序的测试:

cd apps/application_one
mix test

运行第二个应用程序的测试:

cd ../application_two
mix test

developerworks
1.7k 声望266 粉丝