我爲我的應用程序創建了一個配置文件,該文件由多個子應用程序組成,其中每個子應用程序都有自己的Common Test suites目錄。對於構建和測試我使用的螺紋鋼,我的目錄結構看起來像這樣將Erlang配置文件(對於多個應用程序)用鋼筋進行通用測試
.
├── apps
│ ├── app1
│ │ ├── ebin
│ │ └── src
│ ├── app2
│ │ ├── ebin
│ │ ├── logs
│ │ ├── rebar.config
│ │ ├── src
│ │ └── test
│ ├── ...
├── deps
├── rebar.config
├── apps.config
其中apps.config
包含所有的應用程序的配置。當我開始我的虛擬機erl -pa deps/*/ebin -pa apps/*/ebin -config apps
一切工作正常。我已將{ct_extra_params, "-erl_args -config rpm"}.
添加到我的rebar.config
,但是當我運行rebar ct
時,調用application:get_env/1,2
時會發生錯誤。
如果不可能用鋼筋做到這一點,如果有人能告訴我如何在那裏完成,也可以使用make。我知道我可以按照Erlang -- External Configuration Date中的描述將配置加載到通用測試中,但是我認爲如果我已經有apps.config
會更容易一些。
更新:ct_run -dir apps/app1/test -pa deps/*/ebin -pa apps/*/ebin -erl_args -config rpm
也按預期工作。我想問題在於,當運行每個應用程序的測試時,鋼筋會更改cwd,因此-config rpm
選項不指向現有文件。無論如何,我無法找到解決方法。
我們放棄了使用螺紋鋼進行CT測試,fwiw。 –