Hardhat
Solidity-coverage 中的 % Branch 列是什麼?
在solidity-coverage包輸出中,有一列叫
% Branch
,它是乾什麼用的?yarn hardhat coverage
輸出:
---------------------------|----------|----------|----------|----------|----------------| File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines | ---------------------------|----------|----------|----------|----------|----------------| contracts/ | 95 | 87.5 | 84.62 | 95 | | Raffle.sol | 95 | 87.5 | 84.62 | 95 | 153,157 | contracts/test/ | 100 | 100 | 100 | 100 | | LinkToken.sol | 100 | 100 | 100 | 100 | | VRFCoordinatorV2Mock.sol | 100 | 100 | 100 | 100 | | ---------------------------|----------|----------|----------|----------|----------------| All files | 95 | 87.5 | 84.62 | 95 | | ---------------------------|----------|----------|----------|----------|----------------|
其他列有意義,但不是
% Branch
基本上,它是涵蓋的控制語句的百分比。
分支的想法來自於條件語句,如 if-else、switch-case ……每個條件匹配都是分支。
在程式碼中,它類似於:
if (a.isANumber) { // branch 1 } else { // branch 2 }