Bitcoin-Core-Development

調試比特幣單元測試

  • December 29, 2020

我正在使用來自比特幣源的單元測試make check,並且想LogPrint在比特幣源文件中調試測試。我在測試文件中讀到日誌僅輸出到test_framework.log,但我無法找到此文件。我應該在哪裡可以找到它?或者也許有更好的方法?

您混淆了這兩種測試。單元測試被編譯成單獨的二進製文件並由make check. 功能測試正在測試 RPC 命令,並且必須使用test_runner.py腳本顯式執行。test_framework.log僅由功能測試創建。可以在此處找到單元測試的文件。

要在單元測試中列印消息,您不能使用LogPrintf. 而是使用BOOST_TEST_MESSAGEandBOOST_CHECK_MESSAGE列印來自測試的消息。您必須直接執行測試二進製文件 ( src/test/test_bitcoin)--log_level=all才能看到消息。

要從源文件本身列印,您可以使用fprintf()並將您的消息列印到 stderr。

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