[英]Where to start modifying BashCov to implement --exclude option?
在嘗試為--exclude
構建一個/-- exclude / --ignore
選項時,我在確定從哪里開始時遇到了一些困難。
Bashcov 還不支持--exclude
/ --ignore
選項,從以下輸出可以看出: bashcov --help
:
bashcov --help
Usage: bashcov [options] [--] <command> [options]
Examples:
bashcov ./script.sh
bashcov --skip-uncovered ./script.sh
bashcov -- ./script.sh --some --flags
bashcov --skip-uncovered -- ./script.sh --some --flags
Specific options:
-s, --skip-uncovered Do not report uncovered files
-m, --mute Do not print script output
--bash-path PATH Path to Bash executable
--root PATH Project root directory
--command-name NAME Value to use as SimpleCov.command_name
Common options:
-h, --help Show this message
--version Show version
Bashcov 包含與項目無關的文件和文件夾,例如.git
文件夾,以及test/libs
中的 bats 單元測試模塊。 這使得很難理解項目代碼本身的實際測試情況:
例如,上面的報告顯示了 17% 的覆蓋率,即使 100% 的自定義項目 bash 代碼行都經過了測試。
--exclude
/ --ignore
命令傳遞給 simplecov,這可能就足夠了。 我發現bashcov
參數在這里被解析。--exclude
/ --ignore
目錄/列表中的文件。 但是,我還不知道 bashcov 是否這樣做,如果是在哪里,或者它是否依賴於 simplecov 來做到這一點。 我發現這個答案顯示了如何修改SimpleCov.start
行以添加過濾器/排除列表。 在 bashcov 中,可以在此處找到SimpleCov.start
行,但是我還不知道如何在本地編譯、構建和安裝 bashcov(沒有從 Ubuntu 22.10 上的 `sudo apt install bashcov 獲取默認版本)。
開始修改 bashcov 以構建--exclude
/ --ignore
函數的實際位置是什么?
不需要修改 bashcov。 --exclude
/ --ignore
選項通過SimpleCov
配置文件得到支持。 在自己項目的根目錄下,可以添加一個.simplecov
文件,內容如下:
SimpleCov.start do
minimum_coverage 15
add_filter "test/libs"
add_filter "/.git/"
end
這確保覆蓋率報告和結果忽略那些test/libs/
和.git/
目錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.