Solidity

Populus Unittesting:如何測試合約的回退功能?

  • September 29, 2017

如何使用Populus 框架測試合約的外部賬戶對回退函式的呼叫?

例如,這將永遠執行:

chain.wait.for_receipt(mycontract.transact({'value':10, 'from':accounts[1]}))

而這兩個根本就失敗了:

chain.wait.for_receipt(mycontract.transact({'value':10, 'from':accounts[1]})())
chain.wait.for_receipt(mycontract.transact({'value':10, 'from':accounts[1]}).call())

我可以只使用其中之一accounts將 Ether 發送到合約中,但我如何在 Populus 中做到這一點?

解決方案很簡單,您可以簡單地使用 populus 的web3夾具:

web3.eth.sendTransaction({'value': 10, 
                         'from': accounts[1], 
                         'to': mycontract.address})

引用自:https://ethereum.stackexchange.com/questions/27302