![](/img/trans.png)
[英]Comparison with std::nullopt in Catch2 gives unreadable results
我在用 Catch2 編寫的 cpp 測試中進行了以下檢查: 當 function 返回std::optional<int>時,測試失敗並顯示無意義的消息: 是因為 Catch2 無法將值轉換為有意義的值,這就是它顯示{?} == {?}的原因嗎? 那里有正確的錯誤消息的最佳解決方法是什 ...
[英]Comparison with std::nullopt in Catch2 gives unreadable results
我在用 Catch2 編寫的 cpp 測試中進行了以下檢查: 當 function 返回std::optional<int>時,測試失敗並顯示無意義的消息: 是因為 Catch2 無法將值轉換為有意義的值,這就是它顯示{?} == {?}的原因嗎? 那里有正確的錯誤消息的最佳解決方法是什 ...
[英][UT][Catch2] Several test cases or one with several sections
假設我們要測試一個文件(或類)。 什么應該是更好的方法(總是?也許在特殊情況下?)? 框架Catch2 : https://github.com/catchorg/Catch2 幾個測試用例 一個包含多個部分的測試用例 我認為我們應該為每個功能單獨使用TEST_CASE (如果可能的話)。 如果不是 ...
[英]Catch2: Test all permutations of two lists of types
我需要在 Catch2 中編寫一些單元測試,其中每個測試用例都應該針對兩個類型列表的每個可能排列執行。 我喜歡類似的東西 測試用例將執行 4 次的地方 或者,這樣的事情也是可能的 據我所知,catch2 中沒有這樣的東西。 在type-parametrised-test-cases中, TEMPLA ...
[英]Catch2 CLion error, "No tests were found"
我有一個像這樣的文件夾結構 我正在嘗試設置 Catch2,我的 CMake 文件如下所示: 最上面的 CMake: 我的源src : 我的src/foo CMake: 我的tests CMake: 我的tests/foo CMake 從那里,我使用 Clion 的 Catch2 集成將我的運行配置 ...
[英]How to add parameters to section names in Catch2
我正在使用Catch2為一些 C++ 遺留代碼創建一組測試,並且我有一個函數,我想測試大量的值。 我發現我可以使用GENERATE關鍵字創建一個數據生成器變量,該變量將為每個生成的值重復以下場景,但我唯一的問題是,當我啟動測試時,我無法區分每個值的執行情況. 因此,對於一個最小的示例,例如: TE ...
[英]Catch2 Framework Error: unknown type name 'DNA'clang-tidy(clang-diagnostic-error)
我正在使用 catch2 框架進行單元測試。 下面是我用來編譯測試文件的命令。 bin/tests: ./tests/tests.cc./src/dna_strand.cc./includes/dna_strand.hpp $(CXX) $(CXXFLAGS)./tests/tests.cc./s ...
[英]How do I use catch2 just by cloning its repository and copying its src to my project?
我試圖讓 catch2 運行一個准系統項目只是為了熟悉它,但到目前為止,我未能以任何可能的方式安裝它。 catch2-git 存儲庫要么指向您將它與 cmake 一起安裝(通過 vcpkg(我不能使用 MSVC,此時我不想使用),要么指向一些 Ubuntu 解決方案。) 我想我應該直接下載cat ...
[英]Run all catch2 tests in one compile unit without tag definition
我有以下項目結構: test_main.cc 測試1.cc 測試2.cc 現在,我可以在測試可執行文件的運行時使用命令行選項test1運行所有測試,例如test1 。 我通常用相同的標簽在一個文件中標記所有測試,因為我使用一個文件來組合同一主題的所有測試。 因此,使用文件和標簽違反了DRY原則。 ...
[英]Approximation using gmp mpf_class
我正在使用 Catch2 編寫 UnitTest。 我想檢查兩個向量是否相等。 它們使用 gmplib 如下所示: 由於我“偽造”了 expected_result 向量,測試失敗后我收到以下消息: 所以我一直在尋找可以為我做近似的 function。 我只是沒有成功找到適合我的解決方案。 我找到了 ...
[英]Different catch2 checks on different inputs
我正在嘗試測試一些需要一些設置才能使用的代碼,並且我想避免重復設置步驟。 設置步驟對輸入有一定的依賴性,但結果可能會因輸入的具體內容而顯着不同。 有沒有為此設置 catch2 測試用例的好方法? 舉例來說,讓我們考慮一個我們可能想要測試的非常基本的 object:#include <cmath ...
[英]Disable thread leak test in ThreadSanitizer?
我將 ThreadSanitizer 與 Catch2 一起使用。 不幸的是,ThreadSanitizer 在我的代碼中發現了帶有 Catch2 和線程競爭條件的線程泄漏。 有什么方法可以禁用 ThreadSanitizer 的線程泄漏檢測但繼續進行競爭條件測試? ...
[英]Catch2 compile error (no such file or directory)
我已經使用 Catch2 成功測試了,但是這次出現了問題。 我將 Catch2 子模塊推送到我的項目(這不是 -v2.x 分支)並將“ ../Catch2/src/catch2/catch_all.hpp ”包含到我的測試文件中。 問題是在 catch_all.hpp 中找不到所有包含的.hpp文 ...
[英]How to write GUI tests for wxWidgets
我想為我的 C++ wxWidgets 應用程序創建一個測試套件,但在弄清楚如何測試 GUI 組件時遇到了麻煩。 文檔中關於如何編寫單元測試的文章是從擴充現有單元測試的角度編寫的,但沒有說明如何開始新的單元測試。 我能夠使用Catch (這似乎是推薦的方法)創建一個測試套件,但在 GUI 端入門 ...
[英]Is there a Catch2 variable that provides the name of the current test?
我正在使用Catch2進行單元測試,我想知道 C++ 或環境變量的名稱,它揭示了當前正在執行的測試的名稱。 有沒有辦法做到這一點,或者讓測試調試代碼打印它正在運行的測試的名稱是不好的形式? 理想情況下,我想使用CAPTURE Macro 打印它。 我想這樣做的原因是我有許多 Catch2 測試, ...
[英]How to get catch2 to print the compared C-style string's contents?
我正在使用 catch2(最新版本 - 2.13.6 截至目前),在我的測試用例中,我有一堆類似於以下的檢查: 每個測試用例的文字都不同,顯然my_str的內容也是如此。 當這樣的檢查失敗時,我得到的輸出如下: 但我沒有打印出my_str的攪拌。 讓上述內容也打印(部分) my_str的內 ...
[英]How do I iterate over all permutations of compile-time parameters in Catch2?
我有一個函數,我想用Catch2測試每個可能的輸入。 這個函數有多個編譯時常量作為它的參數。 為簡單起見,假設我有兩個枚舉 和功能 我想用A和B的值的每種可能組合進行測試。 如何在 Catch2 中實現這一點? 我希望這是可能的,而不必列出所有可能的排列。 到目前為止我嘗試過的 不能解 ...
[英]How to best make my catch2 CHECK() output more informative about what it checks?
我正在使用 catch2 編寫一些帶有單元測試的代碼(出於某種原因,它將保持這種狀態)。 現在,在一組單元測試中,有很多(成對)行看起來像這樣: 因此, my_out_param是使用單個函數調用設置的,然后將其與 T 文字進行比較。 現在,當它運行並失敗時,我得到: 但顯然我沒有得到“ ...
[英]Can Catch2 be used with C language?
我正在編寫一個 dll,它支持與 C 和 C++ 語言應用程序的接口。 The dll itself is written in C++, so the question is can i use Catch2 framework for unittesting both C and C++ a ...
[英]How can I enable crash dumps in Catch2 C++ tests in Azure DevOps CI/CD pipeline?
我正在為 Windows 開發 C++ 軟件產品。 我使用 Catch2 框架為它編寫了測試。 它們在 Azure Dev Ops (ADO) 中的 CI/CD 管道中實現自動化。 當我的代碼發生崩潰(例如未處理的異常)時,我想做的是在此 ADO 管道中自動創建並保存崩潰轉儲(.dmp 文件)。 ...
[英]How to avoid update checks with CMake FetchContent?
全部。 我決定使用新的 cmake 宏來下載外部依賴項。 我從 Catch2 庫的文檔中獲取了示例代碼。 該解決方案效果很好,除了能夠在我離線時重新啟動 cmake(沒有 wifi 和移動網絡,只有我和我的筆記本電腦)。 我收到以下錯誤: 是否可以一次下載依賴項,檢查修訂並且不要每次都嘗試連接到遠 ...