Solidity
如何從使用 Truffle 的 Solidity 測試訪問由 TestRPC 創建的測試帳戶?
使用 Javascript 測試,可以訪問 TestRPC 創建的帳戶:
contract('MetaCoin', function(accounts) { // tests here can access accounts[n] to get the public keys }
但是我怎樣才能使用用 Solidity 編寫的測試中的這些地址呢?
我想提個建議。
在
TestMetaCoin.sol
範例中,您可以看到使用了合約所有者地址。(請參閱tx.origin
)因此,我認為您沒有理由不能在 Solidity 庫文件中硬編碼其他帳戶地址,然後將該庫導入您的測試。然後,您可以$ testrpc --account="<privatekey>,balance" [--account="<privatekey>,balance"]
確保每次啟動時重複使用庫中的地址。你可以用 Solidity 測試做一些相當複雜的事情。(請參閱http://truffleframework.com/tutorials/testing-for-throws-in-solidity-tests)但是,從 truffle 文件來看,我覺得它們可能不是為您的案例設計的。
http://truffleframework.com/docs/getting_started/solidity-tests