问题标签 [cxxtest]

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 投票
1 回答
272 浏览

tdd - CxxTest 可以做参数化测试吗?

根据这篇文章,可以使用如下代码在 GoogleTest 框架中进行参数化测试:

加上一些脚手架。

在浏览完CxxTest 用户指南后,我不禁注意到没有提及参数化测试。CxxTest 甚至可以进行参数化测试吗?

这个问题似乎解决了类似的问题,但答案绝不是微不足道的。

我是 C++ 单元测试的新手。也许参数化测试没什么大不了的?几乎我所有的测试都在我上一个 C# NUnit 项目中进行了参数化。

0 投票
2 回答
302 浏览

c++ - 具有大型 C 和 C++ 代码库的 Gtest

我进入了一个项目,我们有一个庞大的代码库,目前它根本没有单元测试框架。我们正在处理的代码最终将在一个充当交换机/路由器/防火墙的盒子上运行。

所以我正在研究一段需要使用 Gtest 进行单元测试的代码。我遇到的问题是模拟变量以测试函数本身。例如,我有一个函数,它使用 4 个指向不同对象的指针并使用几个全局变量。为了测试代码中的不同路径,我需要初始化几乎整个状态机/因变量的值。增加了复杂性,因为在大型代码库中确实如此,我编写的这个函数/方法使用了一堆其他需要测试的例程/方法。这些中的每一个都需要进行单元测试,并且每个都有自己的依赖项。我不确定我是否正确地解决了这个问题,或者 gtest 可能不是测试如此庞大的代码库的正确工具。

如果有人有说测试的经验,说调用堆栈说

像这样的东西。我如何测试所有这些功能 AF ?什么是好的策略??

0 投票
1 回答
515 浏览

c++ - 如何为 CxxTest 编写 automake 文件?

CxxTest文档有一个生成和运行单元测试的 Makefile 示例。我如何为 automake (Makefile.am) 做同样的事情?

0 投票
0 回答
77 浏览

c++ - Is there a way to know what proportion of code is covered by test with CXX test?

I am using CXX test to do unit testing in my program. I would like to know if there is a way to know what percentage of the program is covered by tests or have any other metric to see how well the program is covered by tests.

I am programming in C++ using Eclipse Luna under Ubuntu 14.04.

Thank you

0 投票
1 回答
1724 浏览

cmake - CMake 找不到 CxxTest 包

CMakeLists.txt为了使用CxxTest构建测试器,我编写了以下内容(这几乎是 提供的标准示例FindCxxTest):

问题是尽管我有文件夹 cxxtest 和存在的目录中的文件,但找不到CxxTestcxxtest/TestSuite.hCMakeLists.txt

我已经查看了的源代码,FindCxxTest.cmake看看它有多远,但它甚至没有找到路径CXXTEST_INCLUDE_DIR

我是否必须设置另一个搜索路径或其他东西?我在 Windows 上进行测试。

0 投票
1 回答
556 浏览

c++ - CMake 无法执行 cxxtestgen

我正在尝试使用以下 CMake cmakelist.txt 文件为我的学校项目执行测试:

但我收到以下错误:

我曾尝试在 CLion 之外运行它以排除这种情况。我可以毫无问题地从命令行运行 cxxtestgen。

任何想法或解决方法?我需要能够运行这些单元测试,最好是使用 CMake(以享受它与 CLion 集成的好处)。

0 投票
0 回答
91 浏览

c++ - Visual Studio 构建事件命令行和普通命令行有区别吗?

我使用 Visual Studio 构建了一个测试项目(CxxTest)并立即通过构建后事件执行它。这很有效,并且已经这样做了很长时间。现在,与从命令行 shell 手动执行相比,我在构建后事件的执行中有不同的行为。与手动启动 exe 或使用 Visual Studio 调试器相比,以下代码在构建后事件中的行为有所不同:

这是调用的辅助函数:

似乎只有在同一方法中为多个 tResult 实例调用 getValueFromStruct(tResult) 时才会出现问题。

两种方式之间是否存在环境、运行时库或其他方面的差异?Visual Studio 是否在为构建事件操作命令行环境?

该问题仅出现在Release 和 x64 模式中。它只出现在我的机器上,而不是在构建服务器上。但是,当像服务器一样通过构建脚本在我的机器上构建时也会出现这种情况。

我找到了 3 种绕过问题的方法:

  • 通过使用临时变量而不是直接将函数的结果作为参数传递。
  • 禁用 test.exe 的优化
  • 将 test.exe 的“内联函数扩展”设置为“禁用 /Ob0”。

但它没有解释为什么它在构建事件和常规命令行中的行为不同。

0 投票
1 回答
608 浏览

c++ - CxxTest 编译,缺少 main

我正在使用 CxxTest 进行单元测试。我跟着文档。

我执行的第一个命令是:

命令的输出是runner.cpp文件。

根据文档,下一个命令应该是:

但我无法执行它,我收到有关缺少入口点的错误。换句话说,runner.cpp缺少主要。

CxxTest 中包含的测试文件也会发生同样的情况。

我正在运行 Windows 8.1。

我的问题被标记为重复,但我没有在另一个问题中找到解决方案。我不是在构建 GUI 应用程序。问题是关于 CxxTest 以及它如何在没有main()函数的情况下启动?入口点在哪里?

0 投票
2 回答
214 浏览

c++ - 为单元测试操作内部函数的返回值?

我目前正在尝试为一些遗留代码编写单元测试。在我的一个函数中,它调用了另一个函数。根据内部函数的返回值,存在三个分支条件。代码是用 C++ 编写的,我使用的是 cxxtest 框架。如何在不执行内部函数的情况下操纵内部函数的返回值,以便可以通过所有分支条件?我更喜欢避免函数之间的依赖关系。有没有办法做到这一点?

0 投票
2 回答
9623 浏览

c++ - MinGW / CxxTest 奇怪的错误

我希望你能帮助我。我在我的主要开发机器上使用 CxxTest 编写了一个小项目。在这台机器上一切正常,没有问题。但是,我尝试在我全新的笔记本电脑上设置这个项目,但无法让它工作!我怀疑我的 MinGW 安装而不是 CxxTest 出了问题,但这真的很难知道 - 错误来自 CxxTest 文件。这是项目的文件夹结构:

在命令行上我运行:

这会生成 runner.cpp。现在我运行:

这通常工作正常,输出 runner.exe 并运行我的单元测试。在我的笔记本电脑上,我收到了数千个错误。这里只看一下前几个:

当我在一个简单的 hello world 文件上运行 g++ 时,它工作正常。有谁知道发生了什么?