问题标签 [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 回答
1066 浏览

unit-testing - 我可以使用 cxxtest 和 Visual Studio 2010 Professional 进行单元测试吗?

我可以使用 cxxtest 和 Visual Studio 2010 Professional 进行单元测试吗?

0 投票
2 回答
838 浏览

c++ - 使用 cxxtest 框架和 valgrind 测试 qt 对象

是否可以使用cxxunit或任何其他单元测试框架(不包括QtTestLib)来测试 qt 小部件?

如果是,那么还有两个问题:

  1. 如何?
  2. 由于我正在使用 valgrind 运行单元测试,这会报告一些错误吗?
0 投票
1 回答
652 浏览

c++ - 未显示测试结果的 Web-CAT CxxTest Eclipse GUI

我正在尝试在 Eclipse 上使用 CxxTest 框架执行测试用例。按照本网站上的说明进行操作后 - http://web-cat.cs.vt.edu/eclipse/cxxtest/

我能够构建测试用例,但是当我运行它时,它没有显示文章中所示的 GUI(绿色/红色条)。我检查了 CxxTest 指南,它提到了这个标志“--gui=Win32Gui”;有人可以帮我在哪里可以在 Eclipse 设置中输入这个标志吗?我正在为 CxxTest 使用带有 Web-CAT 插件的 Eclipse CDT (3.6.2)。我用 make、gcc、g++、gdb 安装了 cygwin。

这是构建的输出:

构建目标:BankAccountTests.exe 调用:Cygwin C++ Linker g++ -o"BankAccountTests.exe" ./BankAccount.o ./runAllTests.o -lbfd -lz -lintl -liberty 完成构建目标:BankAccountTests.exe

0 投票
2 回答
1244 浏览

c++ - 从 CXX 测试访问 C++ 函数

我正在为我编写的课程编写一些 CXX 单元测试。我以前从未编写过 CXX 测试(这也是我可以使用的唯一框架)。我正在尝试调用我的类中包含的一个函数,以便我可以测试输出是否符合预期,但我不确定你是否可以这样做,如果可以,如何。

我在 CXX 测试中包含了头文件,但无法访问 GenerateHash 函数。

我也试过:

任何帮助将不胜感激。

0 投票
1 回答
301 浏览

cxxtest - 关于 cxxtest 的宏定义

我在vc6下使用cxxtest4.0.3做测试。一开始编译报告strcmp不是std的成员。在我将 CXXTEST_OLD_STD 宏添加到项目设置后,编译器在“CXXTEST_STD(string) _s;”行报告缺少字符串的类型信息。

我应该如何设置宏定义?先谢谢了。

这是示例代码:

这是错误消息:
error C2039: 'strcmp' : is not a member of 'std'
cxxtest\testmain.h 中的行报告错误消息:

0 投票
5 回答
713 浏览

c++ - 当要测试的类很复杂时,如何编写单元测试?

我正在尝试使用TDD使用 VS 2010 在 C++ 中编写西洋双陆棋游戏。

我已经设置了CxxTest来编写测试用例。

第一个要测试的类是

我想为函数IsSingleMoveValid()编写一个测试,我想测试应该证明该函数可以正常工作。不幸的是,要测试的案例太多了,即使我测试了几个案例,有些可能会逃脱。

你有什么建议?TDD 如何处理这些问题?

0 投票
1 回答
570 浏览

build - 将 CxxTest 与 Travis-CI 一起使用

这是我.travis.yml处理 wxWidgets/CxxTest 项目的依赖项安装的部分:

一切都安装得很好,项目也成功构建了,但是到了 call 的时候cxxtestgen,它就失败了。

如何在使cxxtestgen命令可访问的同时将 CxxTest 安装到 Travis-CI?

这是我的 github 项目:https ://github.com/gbchaosmaster/nds-toolkit

0 投票
1 回答
183 浏览

c++ - CXXTEST 编译器是否有#define _KEYWORD_ 来排除代码块?

我需要main()在我的对象中临时放置一个函数来测试替代功能(除了简单的单元测试),但我一直不得不注释掉我的main()函数来运行我的单元测试。

是否有#define _KEYWORD_CxxTest 允许这种情况自动发生?

0 投票
1 回答
155 浏览

c++ - BOOST_FOREACH 和 cxxtest 插件的铸造问题

我目前正在做一个我使用的项目:

我遇到了一个关于const_cast. 我搜索了高低,并没有找到可以帮助我的在线资源。当我BOOST_FOREACH在测试方法中调用时出现问题。我不断收到以下错误:

const_cast_helper

我开始剖析问题,发现 const_cast 运算符被重载以进行一些运行时检查,我不知道是什么。总而言之,有一个Dereferee::const_cast_helper是 cxxtest 依赖项的一部分,是 const_cast 运算符的重载。

此助手取消定义 const_cast 运算符 (!)

最后重新引入 const_cast 运算符:

#define const_cast ::Dereferee::const_cast_helper

这样每次调用 const_cast 时,都会调用这个助手的适当构造函数。构造函数接受指针、引用、const 指针和 const 引用。

来源在这里:https ://github.com/web-cat/dereferee-with-cxxtest/blob/master/Dereferee/include/dereferee/const_cast.h

rvalue_probe

Boost 还使用强制转换来查看被迭代的集合是左值还是右值,以避免复制它/重新计算表达式。

编译器抱怨以下内容:

在我的情况下, T 是 boost::unordered_map 并且不知何故这个演员表和助手的重载打破了......

有办法解决吗?

我研究了可能的解决方案,但我不知道如何实际实现它们,我没有那么多 C++ 经验。如果我的测试中有这些编译时检查,我一点也不在乎,我可以解决这个问题。因此,任何三个方向的任何帮助都将是最有帮助的!

  1. 禁用 boost 的右值检查,使用 BOOST_WORKAROUND 和 foreach.hpp 中定义的文字

    BOOST_FOREACH_COMPILE_TIME_CONST_RVALUE_DETECTION BOOST_FOREACH_NO_RVALUE_DETECTION BOOST_FOREACH_NO_CONST_RVALUE_DETECTION BOOST_FOREACH_RUN_TIME_CONST_RVALUE_DETECTION

  2. 禁用此const_cast_helper. 当我运行我的测试程序(与测试项目不同的项目)时,我的代码按预期编译和运行,const_cast 的重载会产生问题。

  3. 实施可以修复此错误的扩展。我不知道它是否应该在const_cast_helper或中完成,rvalue_probe但它没有任何好处。

template <typename T> const_cast_helper(rvalue_probe<U>* value_to_cast) : cast_value(const_cast<U*>(value_to_cast)) { }

感谢您提前输入!

0 投票
1 回答
201 浏览

c++ - Visual Studio 2010 CxxTest:如果测试失败,则构建失败

我有一个充满 C++ 项目的解决方案。一旦第一个项目失败(即退出状态不佳),我想停止构建和运行项目。在 GNU Makefile 中,我可以很容易地做到这一点。如何在 Visual Studio 中执行此操作?

  1. 运行程序作为构建的一部分
  2. 获取退出状态
  3. 如果退出状态!= 0,则构建失败

在 Visual Studio 2010 或更高版本中。