Testrpc

TestRPC 不確定地拋出“無效的操作碼”

  • May 21, 2017

我們有針對 TestRPC 執行的契約測試套件,它可能會在第一次執行時失敗並在連續的第二次執行時成功。什麼會導致這種奇怪的行為,我該如何解決?

CI歷史:

提前致謝!

我認為這與這裡的問題相同 在短時間內執行許多操作時,仍然需要在這里和那裡給 testRPC 一個休息時間。當然,也可能是這樣,您的測試程式碼會導致競速條件,這可能不一定是明顯的或語法錯誤。當然,如果沒有程式碼就很難判斷,但只要它在測試網上執行,你就不必太擔心。當然,同樣,這也取決於你的合約的設計方式,例如,因為無法保證在不知道細節的情況下,這種特定場景不會在主網上的真實條件下出現。

編輯: 從 Solidity 0.4.9 開始,bad opcode用於內部拋出,如數組越界。所以在你的情況下,我很確定你的測試程式碼中有一些條件使睾丸有時“嘗試做一些事情”,而這些事情並不打算這樣做。可能是某些事情沒有得到適當的承諾鏈,但有時還是及時出現。

祝你好運 !

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