问题标签 [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.
c++ - 无法编译 cxxtest 生成的 cpp 文件
所以我有一个 Visual Studio 2015 c++ 项目,其中包含一个 testsuite.h 文件,就像 cxx 文档中的那个一样。我运行 cxxtestgen python 工具来生成一个 testsuite.cpp。我将 testsuite.cpp 文件放在另一个 Visual Studio 2015 C++ 空项目中。将 cxxtest 添加到项目的其他包含目录中。但是当我构建时,我收到以下错误:
但它在附加的包含目录文件夹中。
c++ - Travis-Ci 安装并运行 CxxTest
我正在尝试为托管在 Github 上的开源项目添加 Travis-Ci 支持
CMake
尝试查找时出现问题CxxTest
。在不受信任Travis-Ci
的旧 Ubuntu 版本上运行。CxxTest
我取得了一些成果。在此状态下CxxTest
安装正常,但CMake
无法找到cxxtestgen
.
问题:如何正确安装和使用CxxTest
in Travis-Ci
?
特拉维斯.yml
CMake 日志
c++ - 在CMake中链接CxxTest,它说它成功但未能构建
我刚刚下载了 4.4 版的 cxxtest 并将我的 zip 文件解压缩到这个路径:C:/cxxtest-4.4。紧接着,没有做任何额外的步骤,我打开了 CLion 并尝试将 CxxTest 添加到我的项目中,如下所示:
如果我没有收到以下错误,我必须手动设置这两个变量:
现在一切正常,这是我的 Cmake 调试:
现在我尝试在头文件中使用 cxxtest/TestSuite.h 时,它说找不到它。这让我发疯了,拜托,我需要你的帮助!
提前致谢!
编辑:我设法链接它,现在我可以找到头文件,将这一行添加到 CMake 文件中:
现在,当我构建时,我得到以下输出:
stubs - cxxtest 中的模拟和存根示例
我正在使用 cxx 测试进行单元测试。我对所有东西都有正确的设置,我已经为一些简单的函数编写了测试用例,但是代码中有很多依赖项,我发现很难编写更多的测试套件。我已经在 Google 上彻底搜索了 mocks 和 stubs,但我仍然对 mocks 和 stubs 没有完整的感觉。我想有一些使用 mocks 和 stubs 的项目的适当示例。任何适当的 GitHub 链接也可以使用。或者任何适当的解释也将非常有用。
c++ - 尝试运行编译文件时找不到 cxxtest 文件
我开始写一个关于 C++ 的小项目。我只是想使用 TDD 进行开发,因为在 Java 中我总是这样做。我遇到了一个问题,即在 Java IDE 和工具(如 maven 等)中使用任何库等都更容易一些。但这并不完全是我要谈论的话题。
我找到了 cxxtest 框架并决定在我的项目中添加一个。我将最新版本的源代码完全添加到项目中的测试包中,然后编写简单的测试,然后通过“python cxxtestgen --error-printer -o ../runner.cpp ../ 运行预处理器(使用python) ../testSample.h”来自 cxxtest-4.4/bin 文件夹。
之后,我将 runner.cpp 文件放入 cxxtest-4.4 文件夹。我尝试在合适的位置使用命令“g++ -o runner runner.cpp”运行它......并收到以下消息:
这里我把我的项目结构: 项目结构
这似乎很奇怪,因为我以前从未见过同样的麻烦。它无法找到相同的问题。
所以,如果有人告诉我正确的方向来解决这个问题,那就太好了。如果您需要其他内容来更清楚地了解此问题(代码、任何技术信息等),请告诉我
一些信息:我在 macOS 上使用 CLion,这意味着我有 CMake(至少 3.6 版),我的 Mac 上同时有 perl 和 python。使用 C++14 语言版本的项目。
c++ - 用户定义的文字未能包含另一个文件
我有一个 Komp 类,其中我有一个用户定义的文字constexpr Komp operator""_i(long double x)
来从 eg 生成一个 komp 对象Komp k = 1 + 5.0_i;
。
这在komp.cpp的 main() 中工作正常,但是当我在 testing.cpp (其中包括komp.h )中编写相同的确切语句时,我得到以下错误。komp.h中的所有其他功能在testing.cpp中都可以正常工作。我希望像其他函数一样包含用户定义的文字。
为什么用户定义的文字在testing.cpp中不起作用,而其他函数却在起作用?
错误:
c++ - 不能让 cxxtest --abort-on-fail 处理一个简单的例子
我试图运行这个单元测试(ttt.hpp
):
通过执行:
但正如文档所述,它不会因任何失败而中止:
(我也尝试用 gdb 执行它,没有任何报告,程序正常退出,只有退出代码非零,但没有关于中止...)
难道我做错了什么 ?
cmake - 如何强制 ctest 仅在某些子目录中运行单元测试?
我的 cmake 项目具有以下树结构:
where/deps
包含所有 3rd-party 依赖项,/basis
目录/study
包含我编写的例程。
在我的主 CMakeLists.txt 文件中,我有以下代码来启用 CxxTest
中/basis/CMakeLists.txt
,我有
在/study/CMakeLists.txt
,我有类似的东西/basis/CMakeLists.txt
。运行cmake ..
,目录make
后build
,我可以运行ctest
,来build/basis/
分别build/study/
运行这两个子目录中定义的单元测试。但是我想有一种方法来运行这两个子目录中定义的所有单元测试,所以我尝试ctest
在/build/
. 不幸的是,这个命令似乎也运行在/deps/
. 我们如何强制只运行我自己定义的ctest
所有单元测试?build/basis/
build/study/
c++ - 我应该#include .cpp 文件到TestSuite 的标题以使cxxtest 工作吗?
情况如下:我有一个由两个文件组成的简单项目 -Calc.h
和Calc.cpp
.
计算.h:
计算.cpp:
CalcTestSuite.h:
问题
问题是,当我这样做时cxxtestgen --error-printer -o runner.cpp CalcTestSuite.h && g++ -I$cxxtest -o runner.o runner.cpp && ./runner.o
,会发生错误:
毫无疑问,这是因为我在 Visual Studio 2019 或其他 IDE 之外编译代码时编译错误。
我如何尝试解决问题:
我看到了几个解决方案:
1.) 将构建命令保持原样并添加#include "Calc.cpp"
到 TestSuite 文件,这显然可以工作,但这是一个不好的做法。
2.) 将 Calc.cpp 添加到 g++ command: g++ -I$cxxtest -o runner.o Calc.cpp runner.cpp && ./runner.o
,但是,它会导致另一个问题:
在那种情况下,我也尝试更改#pragma once
为#ifndef CALC_H...
阻止Calc.h
,但错误仍然存在。
我尝试搜索真实世界的 cxxtest 代码示例,但没有找到我很久以前看到的站点。我很高兴收到有关处理此问题的最佳方法的任何提示。
如果你知道我可以搜索真实代码片段的网站,如果你分享它,我会很高兴。