问题标签 [unittest++]
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.
macos - 为什么在 Mac OS X 上构建 UnitTest++ 时会出现“ld:在 libUnitTest++.a 中,存档没有目录”?
在我下载 UnitTest++ 1.4 版(来自http://sourceforge.net/projects/unittest-cpp/)并进行制作后,我得到:
一位同事在使用相同版本的 gcc (4.2.1) 的 Mac 上没有收到此错误。(注意:我可以使用我同事构建的 libUnitTest++.a,所以我没有被阻止,但我还是想解决这个问题。)
我做了一个谷歌搜索,听起来好像ranlib
已经解决了其他人的类似问题,但是 libUnitTest++.a 没有被创建,所以我不能ranlib
在它上面运行。
c++ - UnitTest++ 中的断点
我正在 Codelite 编辑器中使用 UnitTest++ 创建一些单元测试。但是,如果我正在调试我的单元测试应用程序,断点将不会命中。它们甚至没有在调试模式下显示。不能调试 UnitTest++ 测试吗?或者我做错了什么?
提前致谢!
c++ - UnitTest++ 为什么需要使用非 const char* 的 CheckEqual() 重载
在UnitTest++ 框架中,Checks.cpp 模块中有 4 个 CheckEqual 的重载版本。每个重载对预期或实际采用不同的常量。然后所有四个都调用 CheckStringsEqual() ,它将 char const* 用于预期和实际。我可以删除重载,一切都编译得很好,但是当使用数组语法声明字符串时,单元测试在传递两个 const 字符串以外的任何内容时都会失败,即
澄清 原始的 UnitTest++ 代码展示了这种行为,而不仅仅是我的实现。此外,当重载被移除时测试失败的事实也让我受阻。
四个重载是:
CheckStringsEqual 是
最后,如果您注释掉除第一个 CheckEqual 之外的所有测试,其中一些测试会失败
c++ - How to use C++ enums with UnitTest++ checks?
I have the following enum:
And the following UnitTest++ test:
This doesn't work. I thought Country::SPAIN
would be automatically converted to int 2, but instead I get this error:
c++ - UnitTest++ 入门
这是我从他们的基本示例中获得的当前代码:http: //unittest-cpp.sourceforge.net/UnitTest++.html
包含存在,但我收到错误:UnitTest++ 库中的一些任意类/方法在undefined reference to UnitTest::Test::*
哪里UnitTest::*
。*
我怎样才能让它正确编译?
c++ - UnitTest++ 命令行参数
我想在我的一个测试中使用命令行参数。我在网上找不到任何这样的例子。
有任何想法吗?
c++ - 自定义单元测试++
我问这个是希望有人站在我的立场上并有一些想法。可以这么说,试图避免重新发明轮子。
我正在使用 UnitTest++:http ://unittest-cpp.sourceforge.net/UnitTest++.html
我现在已经编写了很多测试,每次我运行测试构建时它们都会执行,这当然是意料之中的。我什至定义了我自己的 TestReporter 类,它为我提供了比默认测试更多的信息——它在结束时打印每个测试所花费的时间,并且还有颜色编码的测试开始和测试结束消息所以我更容易浏览测试输出。
但是我已经到了这样一个地步,即大量的测试会输出如此多的输出,以至于我的控制台的缓冲区甚至不再保存前几次测试的结果,而且我已经厌倦了更改该设置。所以我希望能够指定一个可选参数来运行测试构建我想运行的测试并跳过其他测试。
UnitTest++ 的代码相当简单,我承认如果我再多看一些,我可能会弄明白,但肯定有人已经弄明白了?我正在尝试想办法将我的 argv[] 与 Test::GetTestList() 连接起来。我想用命令行参数过滤测试列表并只运行这些测试。
唔。看起来它只是一个链表。我想我可以去破坏它... O(m*n) 搜索,m=total tests,n=specified tests。好。我一直在回答我自己的问题。Mods:我将发布我的解决方案实施的答案。希望它会为某人节省二十分钟。
编辑:看起来我真的应该使用谓词的东西:
这样我就可以直接使用RunTestsIf()
.
编辑:我想我想通了。哇,第一次涉足模板编程。
scons - Scons AddPostAction 导致依赖检查错误解决方法
在 scons 中,我正在尝试制作一个 UnitTest 系统(参见下面的代码),基于这里的一个很好的例子:http: //spacepants.org/blog/scons-unit-test
然而,由于最近 scons 2.0.1 和更新版本中的问题,这种情况下是一个依赖循环,如此处所述:http: //old.nabble.com/AddPostAction-executes-on-first-build-but-not-subsequent- td18360675.html(和其他地方)。
有谁知道解决此问题的好方法或替代解决方案?
代码:
c++ - Volatile 关键字允许访问 UnitTest++ 中的 const 结构
我正在使用 UnitTest++ 框架对我负责的一些 C 代码实现单元测试。最终产品被嵌入并使用 const 结构来保存配置信息。由于目标主机可以异步修改配置,因此结构的成员都是易失的。一些结构也被声明为 volatile。
当我使用 const_cast 尝试修改 UnitTest Windows 7 主机上缺少 volatile 关键字的结构实例时,我遇到了分段错误。这对我来说很有意义。但是,如果结构实例是使用 volatile 关键字声明的,则测试通过。这对我来说没有意义。
这是一个快速代码示例,显示了 Win7 上 gcc 的问题。切换定义值会导致段错误出现或不出现,具体取决于是否使用了结构的 volatile 实例。
谁能帮我理解为什么 volatile 关键字为段错误提供了解决方法?另外,任何人都可以建议一种方法来允许我修改结构中的值以进行单元测试,而无需将 volatile 关键字添加到所有结构实例中?
编辑:
我刚刚发现你可以在 C 中做到这一点:
在测试夹具中包含上面有效的“const undefine”允许我的目标编译器看到 const 关键字并将结构正确地放入闪存中。但是,UnitTest++ 编译器上的预处理器去掉了 const 关键字,所以我的测试夹具能够修改结构。
此解决方案的缺点是我无法添加单元测试来验证函数调用的正确 const 操作。但是,由于从结构实例中删除 const 不是一种选择(需要将数据放在闪存中),这似乎是我必须忍受的一个缺点。
unit-testing - 在 UnitTest++ 中显示自定义失败消息?
我有一个 UnitTest++ 测试类,它允许我测试一个类是否正确解析了一些字符串。在运行测试之前,我创建了一个夹具,其中包含几个字符串,这些字符串将由循环中的各种函数进行测试。它似乎工作正常,但问题是,如果出现错误,UnitTest++ 总是会给我相同的错误行,所以我不知道究竟是哪个字符串导致了这个问题。
例如,它将输出:
但这并不能告诉我哪个字符串没有被正确解析。
所以我想要的是在测试失败时设置一些自定义错误消息(在这种特殊情况下,我会给它数组中的第一项)。基本上,我需要类似的东西:
UnitTest++中有这样的功能吗?或者也许有更好的方法来做我想做的事情?
有关信息,这是我班级的代码: