cost 224 ms
將 Gcov 與 CMake 和 Catch 一起使用

[英]Using Gcov with CMake and Catch

我想使用 Gcov 報告使用 CMake 編譯的 static 庫Catch測試套件的覆蓋率。 我按照此處的說明進行操作,並添加了CMakeModules/CodeCoverage.cmake (參見上面的文件系統樹)。# CMakeLists.txt cmake_minimum_required ...

Catch2 GENERATE 宏在內部是如何工作的?

[英]How does the Catch2 GENERATE macro work internally?

最近我了解了 Catch2 中的GENERATE宏(來自此視頻)。 現在我很好奇它是如何在內部工作的。 天真地認為,對於具有k個生成器的測試用例(通過一個生成器,我的意思是一個GENERATE調用站點),Catch2 只運行每個測試用例n1 * n2 *... * nk次,其中ni是第i個生成器, ...

添加結構時catch2拋出並出錯

[英]catch2 throws and error when adding a struct

這是我項目的根。 我想我缺少一個基本概念,因為當我將find()函數包裝在一個結構中時會發生錯誤。 CMakeLists.txt bst.cpp bst.hpp bst-test.cpp 這是嘗試編譯時的錯誤。 ...

如何比較catch2中的浮點數

[英]How to compare floating point in catch2

我正在使用 Catch v2.13.1 比較浮點值的正確方法是什么。 我認為下面會失敗,但都通過了。 REQUIRE(1147332687.7189338 == Approx(1147332688.4281545).margin(0.0001)); REQUIRE(1147332687.71893 ...

Catch2 - 使用不同測試文件的不同模擬數據填充 singleton

[英]Catch2 - Populating singleton with different mock data for different test files

我在我的 C++ 項目中使用 Catch2 進行單元測試。 我有一個 singleton class,它被用於不同的測試文件。 例如,一個文件可能正在測試 singleton 本身,而另一個文件可能正在測試 singleton 與另一個組件之間的交互。 因此,我想知道是否有一種方法可以為每個測試文 ...

在運行時檢測 Catch2 中的特定標簽匹配

[英]Detect specific tag match in Catch2 at runtime

我在Catch2項目中進行了集成測試,這些測試依賴於正在設置的一些昂貴的全局狀態。 我只想在測試運行器實際測試依賴它的系統時初始化該全局狀態。 我所擁有的似乎有效,但它有點可怕......它取決於 Catch 配置中的很多實現細節。 這是我的主要內容: 然后我的測試文件只是: 請注意,因 ...

在 Visual Studio 中使用 Catch2 進行單元測試的最佳實踐

[英]Best practices for Unit testing with Catch2 in Visual Studio

我是 C++ 單元測試的新手,想就此獲得一些建議。 我使用 Visual Studio 2019 進行開發,並選擇 Catch2 作為我的測試庫,我還安裝了 Catch2 的測試適配器。 我在 GitHub 上閱讀了 Catch2 和 Catch2 測試適配器的文檔,但我仍然無法找到在 Visua ...

kill syscommand 在 Catch2 測試用例中產生失敗

[英]kill syscommand yields a failure in Catch2 test case

我正在使用Catch2進行 C++ 測試。 我的測試用例分叉了一個子進程,並且在某個時候父進程向它發送了一個kill(pid, SIGTERM)來清理它。 但是,我從 Catch2 收到以下錯誤。 當然,我是故意進行這個 sys 調用,所以我不認為它是測試失敗。 我怎樣才能讓 Catch2 忽 ...

Catch2-輸出到控制台和文件

[英]Catch2 - output to console and file

我可以使用-o junit --output catch_results.xml運行Catch可執行文件以生成xml報告。 有什么方法既可以生成xml報告,又可以有控制台輸出? ...

如何使我的 cmake 目標用於 catch2 測試和項目運行更可擴展和更明智?

[英]How do I make my cmake targets for catch2 testing and project running more extendable and sensible?

經過大量的辛勤工作和研究,我設法制作了多個 cmake 目標,以將運行我的程序與運行代碼測試分開。 但我不喜歡我所做的,因為我在CMakeList.txt文件中看到了冗余。 目前,我必須將每個新源文件添加到兩個目標中,以便源目標可以使用該文件進行構建,而測試目標可以構建,因為它們需要測試該文件。 ...

捕獲測試框架,每次鏈接時間長

[英]Catch testing framework long link time every time

我目前正在嘗試使用Catch測試框架。 我正在使用cmake構建項目,目前我只是將所有.h和.c文件放在一起。 為了進行測試,我取出了實際的“ main”,並用Catch的樣本析因示例替換了它。 我有兩個文件: 和 現在發生的事情是,它花費了3秒鍾的構建時間和1分鍾的鏈接時 ...

類定義標記為未涵蓋

[英]Class definition marked as not covered

我在Qt中為個人(開源)項目設置了Codecov。 該項目仍然大部分是存根(幾乎沒有幾個類,到目前為止,我試圖達到100%的覆蓋率。但是,從Codecov報告中看這兩個類的標題,一個被視為覆蓋,另一個是即使它們都有單元測試並且都通過了,也沒有。 我在Catch2中測試了它們兩 ...

僅CMake標頭依賴

[英]CMake header only dependency

我在使用CMake使用catch2運行簡單測試時遇到了一些麻煩。 由於catch僅是標頭,因此我覺得它很容易放入任何項目中,因此我認為我將像普通標頭文件一樣包含它。 項目結構: 的CMakeLists.txt: tester.cpp: 輸出: 顯然測試應該 ...

boost crc每次產生不同的輸出

[英]boost crc yields different output each time

背景 我正在嘗試使用boost crc lib計算給定字節數組的CRC-16 / CRC2。 注意:我是C ++開發中的初學者 我使用catch2作為我的測試框架。 這是測試代碼: 問題 每次運行我的測試計算CRC都不同。 首輪: 第二輪: ...

包含Bazel下載的文件http_file

[英]Include file downloaded by Bazel http_file

我正在使用Bazel構建我的項目。 我想使用單頭測試框架Catch v2 。 我決定使用http_file規則使Bazel下載catch標頭。 我的WORKSPACE文件如下所示: 根據文檔,測試取決於生成的軟件包,如下所示: 測試文件my_test.cc不能再簡單了: ...

從Rcpp Catch測試訪問`inst / extdata`上的數據

[英]Acessing data on `inst/extdata` from Rcpp Catch tests

我正在嘗試從Rcpp Catch2測試訪問inst/extdata文件上的數據文件。 文件樹如下所示: 我相信,這與使用devtools從新軟件包框架中獲得的結果相似。 現在,我可以很容易地通過測試訪問此data-sample文件,如下所示: 並根據需要使用它。 我知道這時 ...

編譯錯誤“錯誤:預期';' 在聲明列表末尾”使用C ++中的Catch測試框架

[英]Compile error “error: expected ';' at end of declaration list” using Catch testing framework in C++

我正在嘗試通過在其中實現一些簡單算法來學習C ++。 為了測試這些算法,我想使用Catch2 。 這是我想進行二進制搜索的程序: 我已將catch.hpp單個頭文件復制到同一目錄中。 問題是,當我嘗試在Mac上使用g++命令對其進行編譯時,出現以下錯誤: 簡而言之,Catc ...

如何在 Bazel 項目中設置 Catch2

[英]How to set up Catch2 in Bazel project

我已經開始了一個簡單的 C++ 項目,它使用 Bazel 作為構建系統,並希望將 Catch2 添加到其中,作為測試框架。 這是我的項目到目前為止的樣子: BUILD 只是 cc_library( name = "Money", srcs = ["Money.cpp"], hdr ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM