rebar3使用介紹(七)測試

2021-08-31 16:14:27 字數 2444 閱讀 7987

rebar3內建了eunit和ct(common_test)測試執行器。通過遵循一些約定,您可以使用單個rebar3命令執行測試套件。

執行eunit測試非常簡單:

$ rebar3 eunit
如果要eunit:test/1使用自己的引數呼叫,可以使用rebar.config的eunit_tests欄位。該引數和在shell裡加的引數是等價的,文件在這裡。rebar3將盡力確保編譯測試中指定的任何模組並使其在**路徑上可用。

您還可以僅針對特定應用執行測試:

或僅適用於特定模組:

$ rebar3 eunit --module=a,b,c
或者對於特定的測試檔案:

$ rebar3 eunit --file=

"test/my_tests.erl"

或具體目錄:

$ rebar3 eunit --dir=

"test"

要執行common_test:

$ rebar3 ct
rebar3將檢視所有應用程式的test目錄,並編譯並執行任何名為的原始檔*_suite.erl。

要僅執行特定的測試:

$ rebar3 ct --suite=test/first_suite,test/second_suite
rebar3有乙個內建的common_test執行器,支援大多數測試套件和common_test選項。如果您的測試套件需要使用測試規範或覆蓋規格,請注意rebar3為每個配置檔案保留單獨的空間,因此,您可能需要調整路徑,以指向_build下相關配置檔案目錄中的模組和目錄,以便它們按預期工作。如果需要使用不支援的common_test選項,可以在由rebar3編譯過的beam目錄下使用以下命令執行common_test

$ ct_run -pa `rebar3 path`

...

設定選項,然後執行任何eunit或ct。或者,執行rebar3 eunit --cover或rebar3 ct --cover。

測試執行將生成覆蓋資料。之後執行rebar3 cover將生成**覆蓋率報告。

cover工具將會把.coverdata格式的報告儲存到對應空間的cover目錄下,預設報告檔案的名字和任務相關,比如rebar3 ct --cover對應ct.coverdatarebar3 eunit -cover對應eunit.coverdata

額外引數--cover_export_name可用於指定.coverdata檔案的名稱,例如,如果乙個專案有2套測試用例,測試用例test/suites1/和test/suites2:

$ rebar3 ct --dir test/suites1 --cover --cover_export_name=suites1===

> running common test suites...

...$ rebar3 ct --dir test/suites2 --cover --cover_export_name=suites2===

> running common test suites...

...$ ls _build/test/cover

cover.log suite1.coverdata suite2.coverdata

$ rebar3 cover --verbose===

> performing cover analysis...

|----------------------------|------------|

| module | coverage |

|----------------------------|------------||..

..| y% |

|----------------------------|------------|

| total | x% |

|----------------------------|------------|

coverage calculated from:

_build/test/cover/suites1.coverdata

_build/test/cover/suites2.coverdata

cover summary written to: _build/test/cover/index.html

Rebar3使用介紹(一)基礎用法

本文基本都是按照 git clone cd rebar3 bootstrap wget chmod x rebar3如果要在windows下使用的話,需要額外製作乙個rebar3.bat rebar3.cmd用來呼叫 echo off setlocal set rebarscript f0 escr...

python3爬蟲實踐(七) xpath介紹

1 什麼是 xpath 2 xpath 開發工具 3 xpath 語法 表示式描述 示例結果 nodename 選取此節點的所有節點 bookstore 選取 bookstore 下所有的子節點 如果是在最前面,代表從根節點擊取。否則選擇某節點下的某個節點 bookstore 選取根元素下所有的 b...

Xcode使用介紹之七 常用外掛程式

古人云 工欲善其事必先利其器 打造乙個強大的開發環境,是立即提公升自身戰鬥力的絕佳途徑!xcode雖然功能強大,但是借助一些輔助外掛程式可以極大的提公升開發效率。alcatraz是針對xcode的一款外掛程式管理器,通過alcatraz可以非常方便的管理外掛程式,包括安裝 刪除 公升級等操作。官方 ...