在使用js的松露测试中,如何在"合约"之后设置参数?



例如openzeppelin-solidity中的WhitelistedCrowdsale.test.js

contract('WhitelistedCrowdsale', function ([_, wallet, authorized, unauthorized, anotherAuthorized]) { ... }在第 12 行。

为什么function(...)的参数是_, wallet, authorized, unauthorized, anotherAuthorized?它们可能是其他东西吗?为什么?

谢谢!

Truffle 注入您连接到的节点中可用的帐户列表。来自松露文档:

contract(( 函数提供了以太坊客户端可用的帐户列表,您可以使用这些帐户来编写测试。

若要使用这些帐户,请按如下所示编写测试用例:

contract(‘MyContract’, function(accounts) {
it(‘test1’, function() {
const account = accounts[0];
// do something with account
}
});

accounts只是一个数组。您发布的 OpenZeppelin 代码预计节点中至少有 5 个帐户可用(通过web3.eth.getAccounts()提供相同的帐户数组(。他们只是将数组分解为特定的变量名称。_accounts[0]walletaccounts[1],等等。您可以随心所欲地命名它们。

最新更新