问题标签 [catch-unit-test]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
957 浏览

c++ - 使用 Catch 框架测试 C++ 模板类

我正在寻找一种使用 Catch 测试模板类的好方法。我有一些几乎可以工作的东西:

此设置将仅在第一次失败之前运行,这很好,因为所有 8 个案例很可能都会以相同的方式失败。但是,最好知道发生故障时使用了哪组模板参数。我的想法是这样做:

但是,我不能在 RUN_ALL 中使用多个 INFO,因为这样做会生成带有重复标识符的代码。

RUN_ALL(test_number_one)出现在第 270 行。)

关于不需要所有测试功能都具有相同签名的解决方法的任何想法?

(我也欢迎有关使用 CATCH 测试模板代码的文章的指针,以及有关如何搜索此类文章而不会获得一堆关于一般异常处理的结果的建议——即 try/catch。)

0 投票
3 回答
4551 浏览

c++ - 使用 C++ catch 框架验证断言语句

是否可以使用 C++CATCH框架来验证assert语句是否正确识别了无效的前置条件?

0 投票
2 回答
135 浏览

c++ - 在 C++ TDD 中调用重载 const 与非 const 方法的好方法?

全部

用迭代器写了一些花哨的容器。所以我有

在测试中,我实例化容器,填充并测试它。调用 const 和非 const 版本的公认/好方法是什么?说,简单的测试

应该为迭代器和 const 迭代器运行。常量参考?一些丑陋的演员?

0 投票
0 回答
172 浏览

c++ - Catch 用 MinGW32 编译得很好,但我得到了 Segmentation Fault

我决定尝试使用Catch编写测试。我在 Windows 中使用 MinGW32。我在这里使用了示例文件定义(为方便起见,我在下面复制):

我正在运行以下行来编译程序:

我绝对没有错误,但是当我运行它时,我得到一个分段错误。

之后,我尝试提供自己的main()功能。现在代码如下所示:

我仍然得到一个分段错误。

这与MinGW有些不兼容吗?有没有人也遇到过这个问题?

0 投票
1 回答
628 浏览

c++ - 如何在调试模式下绕过单元测试中的断言?

在测试用例中,我想测试一个在调试模式下为无效输入生成断言的函数。不幸的是,这停止了 Catch测试运行程序。有没有办法绕过这个断言,以便测试运行器继续运行?

这是我的测试用例:

0 投票
1 回答
415 浏览

c++ - C++ Catch 框架处理 C 的断言?

我使用 Phil Squared 的 Catch 测试框架和一些使用断言的第三方代码进行单元测试。

在开发过程中,经常会发生一些错误断言,然后程序被中止。在这些情况下,Catch 不会报告任何日志和其他诊断信息。

有没有办法“重定向”这个程序流产并让 Catch 处理它?

0 投票
1 回答
1108 浏览

c++ - 将 C++ Catch 单元测试框架与 CMake 集成

我正在使用 Visual Studio 2015 开发我的应用程序。

我的解决方案中有 6 个项目,其中 5 个是库,一个是可执行文件。

可执行项目包含我的测试文件,我正在使用它Catch framework进行测试。所以我将cpp在可执行项目中有 5 个文件。如何使用 逐个运行每个测试CMake

add_test的函数CMake将可执行文件名称作为命令并立即运行所有测试。我需要分别运行每个测试。

0 投票
3 回答
2007 浏览

c++ - 使用 C++ Catch 测试浮点 std::vector

Catch C++ 单元测试框架中是否有可能比较基于浮点类型的 std::vectors?我知道我可以比较两个容器和每个元素的大小(使用 Approx),但这很混乱。

整数类型向量的比较工作正常。

现在,我必须使用这样的结构

但我想使用一个班轮(它适用于整数类型):

0 投票
1 回答
475 浏览

c++ - Catch not catching exception

I'm using Catch to write unit tests and came across a problem where my test fails because an exception is thrown, even though I use REQUIRE_THROWS_AS. This is my test:

And this is the exception I get on my console:

If I understand Catch this exception is exactly what I'm trying to catch right?

0 投票
2 回答
1876 浏览

c++ - 使用 Catch 比较双精度向量

我正在使用Catch单元测试框架,我想比较一个双精度向量。这个另一个答案建议使用 Approx 来比较浮点/双精度值,但这不适用于它们的向量。有什么方便的方法可以做到这一点吗?

编辑:一个例子

使用以下代码:

测试失败,报告如下:

但是,如果我按如下方式更改代码,我希望测试通过,但显然没有。

我可以遍历元素并逐一比较它们,但如果出现差异,则更难以确定错误的来源。