如何使用不同的配置来测试和部署 hardhat solidity?

How do I use different config for testing vs. deployment hardhat solidity?

现在,在使用 hardhat 时,我有不同的测试和部署配置。目前我正在根据我是在测试还是在部署来更改文件名。这个好像没有optimal/correct.

有谁知道我可以指定使用哪个的方法吗?或者更好的是,一种在配置测试与部署中指定的方法?

测试配置:

require("@nomiclabs/hardhat-waffle");
/**
 * @type import('hardhat/config').HardhatUserConfig
 */
module.exports = {
  solidity: "0.8.0",
};

部署配置:

 * @type import('hardhat/config').HardhatUserConfig
 */
require('dotenv').config();
require("@nomiclabs/hardhat-waffle")
const {API_URL, METAMASK_PRIVATE_KEY} = process.env;
module.exports = {
  solidity: "0.8.0",
  defaultNetwork: "rinkeby",
  networks: {
    hardhat: {},
    rinkeby: {
      url: API_URL,
      accounts: [`0x${METAMASK_PRIVATE_KEY}`]
    }
  },
  paths: {
    sources: "./contracts",
    tests: "./test",
    cache: "./cache",
    artifacts: "./artifacts"
  },
};

我想我真的只是想在测试时忽略“网络”字段...

我意识到这些配置之间的唯一区别是网络标志,为了测试我想使用 hardhat 网络和部署,rinkeby。

将默认网络参数更改为:

defaultNetwork: "Hardhat"

允许我使用 npx hardhat test 命令在 hardhat 网络上 运行 测试。

然后部署我可以使用:

npx hardhat run --network rinkeby scripts/deploy.js