Bitcoin-Core-Development

比特幣功能測試框架如何工作?

  • September 12, 2020

有人可以解釋比特幣測試框架呼叫的程式碼如何以及在何處映射到 C++ 比特幣核心程式碼或 RPC 呼叫,以便回歸套件測試比特幣核心功能?

背景和更多細節 我正在編寫一個區塊鏈應用程序,並在考慮如何在繼續開發的同時進行回歸。我想利用比特幣(或任何其他區塊鏈應用程序)使用的設計。我希望該框架可以直接呼叫比特幣核心中的 C++ 類,或者使用 Python 腳本中的 RPC 來測試功能。

我發現比特幣功能測試是用 python 腳本編寫的,其中 test_runner.py 呼叫了一堆測試特定功能的腳本但是我無法在比特幣框架中發現它最終呼叫實際比特幣核心 c++ 程式碼或 RPC 的位置。

感謝您幫助在執行它的框架中發現 python 腳本中的程式碼。

功能測試測試 RPC。單元測試通過呼叫函式直接測試 C++ 程式碼。

功能測試框架使用了一個python-bitcoinrpc版本,可以在這裡找到。該庫允許測試框架呼叫 RPC 命令,就好像它們是 python 函式一樣;authproxy 為 RPC 伺服器處理轉換為 HTTP POST 請求。因此,當您看到類似的行時self.nodes[0].getblockchaininfo(),它實際上是在呼叫getblockchaininfo命令 on node0。您將在整個功能測試中看到許多這樣的行。

引用自:https://bitcoin.stackexchange.com/questions/73932