์ฌํํ๋ ค๋ฉด:
yarn
yarn coverage
๊ทธ๋ฆฌ๊ณ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํด์ผ ํฉ๋๋ค.
+1
@wighawag ์ ๋ฌธ์ ์ธ๊ฐ์? ์๋๋ฉด hardhat-deploy์ ๋ฌธ์ ์ ๋๊น?
๋๋ฅผ ์ํด ๋์ผํ๊ฒ ์คํ :
โโ @nomiclabs/ [email protected]
โโ @nomiclabs/ [email protected]
โโ [email protected]
โโ [email protected]
โโ [email protected]
+1
์ด๊ฒ์ 0.8.x
์ ๋์
๋ ๊ฒ ๊ฐ์ต๋๋ค. 0.7.11
์ฌ์ฉํ๋ฉด ํจ๊ณผ์ ์
๋๋ค.
์ ๊ณ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋ต๋ณ์ด ๋ฆ์ด ์ฃ์กํฉ๋๋ค. ์ ๋ ํ์ฌ ๊ฐ์กฑ๊ณผ ํจ๊ป ์ฌํ์ ํ๊ณ ์์ด ๋ ธํธ๋ถ์ ์ฌ์ฉํ ์๊ฐ์ด ๋ง์ง ์์ต๋๋ค.
์ค๋ ๋น๋ก ๋ชจ์์ด ์๊ณ ๋ฌธ์ ๊ฐ ๊ฒฌ๊ณ -๋ฒ์๊ฐ ์ฌ๊ธฐ์ ์๋ก์ด ๋คํธ์ํฌ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๊ฒ์ ๋๋ค : https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js #L136 -L141 ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์์ ์์ ํ ์ฌํญ์ ๋ฌด์ํฉ๋๋ค.
hardhat-deploy/solidity-coverage ํธํ์ฑ์ ๊ฐ์ ์ด์ ๋ก ๊ณผ๊ฑฐ์ ๋น์ทํ ๋ฌธ์ ๊ฐ ์์๊ณ (https://github.com/sc-forks/solidity-coverage/issues/624 ์ฐธ์กฐ) hardhat-deploy๋ ์ด์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ง๋ค์์ต๋๋ค. ๊ทธ ๋น์์๋ ์ต์ hardhat-deploy ๋ฒ์ ์ด ๋คํธ์ํฌ ๊ฐ์ฒด์ ํ๋๋ฅผ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ ์์กดํ๋ฏ๋ก ํ๋ฌ๊ทธ์ธ ๊ฐ์ ธ์ค๊ธฐ ์ ๋คํธ์ํฌ ๊ฐ์ฒด์ ์ก์ธ์คํ๋ ๋ฐ์๋ ์์กดํ๋ฏ๋ก ์์ ์ฌํญ์ ๋ด ์๊ฒฌ์ผ๋ก๋ solidity-coverage์ ์์ด์ผ ํฉ๋๋ค. ์ ๊ฐ์ฒด๋ฅผ ๋ง๋๋ ๋์ solidity-coverage๋ ๊ธฐ์กด hre.network
๋ฅผ ์์ ํ์ฌ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ ๋ค๋ฅธ ์ถ๊ฐ ์ฌํญ์ ๊ทธ๋๋ก ์ ์งํ ์ ์์ต๋๋ค.
์ด ๋ผ์ธ์ ๋์ฒด https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js#L136 -L141
์ด๋ค์๊ฒ:
env.network.name = networkName;
env.network.config = networkConfig;
env.network.provider = provider;
env.network.isHardhatEVM = isHardhatEVM;
ํด๋ด์ผ์ง
@cgeweck์ ๋ํด ์ด๋ป๊ฒ ์๊ฐ
ํ์ง๋ง env
๋ฌด์์
๋๊น? ์ด๋ป๊ฒ ๊ตฌ์ฑํ ์ ์์ต๋๊น?
@wighawag ์กฐ์ฌ์ ์๊ฐ์
@cgeweck ์ด ๊ณง solidity-coverage๋ฅผ ์์ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค...
env.network.name = networkName; env.network.config = networkConfig; env.network.provider = provider; env.network.isHardhatEVM = isHardhatEVM;
ํด๋ด์ผ์ง
ํ ์คํธํ๊ณ ์๋ํฉ๋๋ค.
env.network.name = networkName; env.network.config = networkConfig; env.network.provider = provider; env.network.isHardhatEVM = isHardhatEVM;
ํด๋ด์ผ์ง
ํ ์คํธํ๊ณ ์๋ํฉ๋๋ค.
em~ ๊ทผ๋ฐ env
? process.env
๋๋ require('hardhat').network.isHardhatEVM
?
@GeekBerry ๋น์ ์ด ์ฝ๋ wighawag ๋ณด๋ฉด, ๋น์ ์ ์ดํดํ๋ ์ง์ : https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js#L136 -L141
@GeekBerry ๋น์ ์ด ์ฝ๋ wighawag ๋ณด๋ฉด, ๋น์ ์ ์ดํดํ๋ ์ง์ : https://github.com/sc-forks/solidity-coverage/blob/3c0f3a5c7db26e82974873bbf61cf462072a7c6d/plugins/resources/nomiclabs.utils.js#L136 -L141
node_modules/solidity-coverage/plugins/resources/nomiclabs.utils.js
ํดํนํ๊ณ 136ํ์ ๋ค์์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
env.network = Object.assign({
name: networkName,
config: networkConfig,
provider: provider,
isHardhatEVM: isHardhatEVM,
}, env.network);
๊ทธ๋ฐ ๋ค์ ์ ์ฉ ๋ฒ์๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์คํํฉ๋๋ค.
solidity-coverage ์์ฑ์๊ฐ ๋ค์ ๋ฒ์ ์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
+1
์๋
ํ์ธ์, ๋ฌธ์ ๋ ๊ฒฌ๊ณ ์ฑ ๋ฒ์ ์ธก๋ฉด์ ์์ต๋๋ค. hardhat-deploy๊ฐ ๋ง์ ์์
์ ์ํํ ์ ์์ผ๋ฏ๋ก ๋ฌธ์ ๋ฅผ ์ข
๋ฃํ๊ฒ ์ต๋๋ค.
๋ด ํ
ํ๋ฆฟ์์ patch-package
solidity-coverage๋ฅผ ํจ์นํ๊ณ ์๋ํ๋๋ก ํฉ๋๋ค. https://github.com/wighawag/template-ethereum-contracts/blob/main/patches/solidity-coverage%2B0 ์ฐธ์กฐ .7.16.ํจ์น
solidity-coverage์์ ์์ ํ๋ ์ด PR์ด ์์ต๋๋ค. https://github.com/sc-forks/solidity-coverage/pull/647
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
node_modules/solidity-coverage/plugins/resources/nomiclabs.utils.js
ํดํนํ๊ณ 136ํ์ ๋ค์์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.๊ทธ๋ฐ ๋ค์ ์ ์ฉ ๋ฒ์๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์คํํฉ๋๋ค.
solidity-coverage ์์ฑ์๊ฐ ๋ค์ ๋ฒ์ ์์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.