当前位置: 首页 > 知识库问答 >
问题:

长d::initializer_list有许多测试元素

仲孙鸿飞
2023-03-14

我的类需要对其数据成员之一的元素数量施加上限,该成员恰好是一个容器。

我的类的一个构造函数采用std::initializer_list作为参数来初始化该容器数据成员。

单元测试需要验证上限是否到位。为此,我需要尝试使用包含1025个元素的初始化器列表调用我的构造函数。

有没有更好的方法来创建这个1025元素的initializer_list,而不是在测试代码中使用1025元素的括号文字列表?

(元素的数据类型始终为无符号短(uint16\u t),my class不是模板。)

共有1个答案

曾瀚昂
2023-03-14

如果您选择模板递归,或者喜欢使用“repeat”宏,那么您可能会受到静态递归限制的影响,这将使您的实现比平时更加复杂。

考虑到这一点,我认为最简单和最好的方法就是定义一些嵌套宏,即。

#define ZEROS_10 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
#define ZEROS_50 ZEROS_10, ZEROS_10, ZEROS_10, ZEROS_10, ZEROS_10
#define ZEROS_250 ZEROS_50, ZEROS_50, ZEROS_50, ZEROS_50, ZEROS_50
#define ZEROS_1K ZEROS_250, ZEROS_250, ZEROS_250, ZEROS_250

FooType f{ ZEROS_1K, ZEROS_10, ZEROS_10, 0, 0, 0, 0, 0 };
 类似资料:
  • 如果我写这个 推断给关联的模板的类型是什么?换句话说,当字符串文字转换为时? 最好将其声明为 避免与所涉及模板的类型推断机制相关的问题?我会保持同样的优化?

  • 问题内容: 我有一堂课,负责将合同从CSV导入数据库。 该类本身只有一个开始导入的公共方法,而其他方法都是私有的(因为只有该类本身将使用,并且它们保留逻辑)。 我开始使用Spock对该类进行测试,并且有许多私有方法,该如何测试? 我应该将它们公开进行测试吗?测试仅主要方法,公开一种? 什么是最好的? 问题答案: 从理论上讲,您的私有方法最终会被一种公共方法所使用,否则根本就不会使用它们。因此,通常

  • 像A/B测试一样,多变量测试基于相同的机制,但它比较了更多的变量,并提供了有关这些变量行为的更多信息。 在A/B测试中,可以在不同版本的设计之间分割页面的流量。 多变量测试用于衡量每个设计的有效性。 示例 假设有一个网页已经收到足够的流量来运行测试。 现在比较每个变体的数据以检查最成功的变体,但它也包含对访问者的交互具有最大正面或负面影响的元素。 使用多变量的优势 多变量测试是一种有效的工具,可帮

  • 我启动了一个项目,现在项目中有大约7个测试,使用执行整个测试套件已经花费了一分钟多的时间。 从附加输出(标志)中,我可以看到,对于每个测试类和方法,整个quarkus应用程序以及mongodb实例等依赖项都会重新启动。 这与quarkus文档在测试指南页面上的内容完全相反: 到目前为止,在我们的所有示例中,我们只为所有测试启动Quarkus一次。在运行第一个测试之前,Quarkus将启动,然后所有

  • Android Studio 1.1 添加了单元测试支持,详细请看 Unit testing support。本章的其余部分描述的是 “instrumentation tests”。利用 Instrumentation 测试框架可以构建独立的测试 APK 并运行在真实设备(或模拟器)中进行测试。

  • 英文原文:http://emberjs.com/guides/testing/unit/ 单元测试用于测试代码的一个小片段,确保其功能正常。与集成测试不同,单元测试被限定在一个范围内,并且不需要Ember应用运行。 全局 vs 模块 过去如果没有作为一个全局变量加载整个Ember应用,要对应用进行测试非常困难。通过使用模块(CommonJS,AMD等)来编写应用,可以只加载被测试的部分,而不用将其