如何正确地对 constexpr 函数进行单元测试
How to properly unit test constexpr functions
如果我有一个constexpr
函数,是否应该同时进行运行时验证和编译时验证?
如果只有一个编译时检查static_assert
,则该函数将不包含在任何代码覆盖率统计信息中。但是,如果只有运行时检查,则不会验证函数是否在constexpr
上下文中实际工作。
简而言之,问题是是否需要运行时单元测试和static_assert
来测试同一件事。
答案已经存在
https://codereview.stackexchange.com/questions/195282/constexpr-unit-tests-and-asserts
// assertion checking failure
inline constexpr auto your_assert_data(bool isOkay, std::string_view message)
{
if (!isOkay)
throw std::logic_error{message};
}
根据您的问题,您没有尝试过任何东西 所以也看看这个
https://blog.trailofbits.com/2019/06/27/use-constexpr-for-faster-smaller-and-safer-code/
相关文章:
- 有没有办法在不使用 #ifdef 的情况下不编译发布版本中的单元测试函数体?
- 使用 Google Test 对自定义断言函数进行单元测试
- 在C++单元测试上下文中,抽象基类是否应将其他抽象基类作为函数参数
- C++ gmock - 我们如何在单元测试 cpp 文件中读取/获取 cpp 文件函数的参数值
- 在类 gtest/gmock 进行单元测试时模拟成员函数C++
- 如何正确地对 constexpr 函数进行单元测试
- 如何使用私有构造函数对类进行单元测试?
- 在为函数编写单元测试时,我应该模拟所做的内部函数调用吗?
- Qt单元测试:指针列表上的QCOMPARE函数
- 如何检查函数是在C++单元测试中的析构函数中调用的
- 我们应该修改单元测试的函数签名吗?
- 检测单元测试中的特定函数调用
- 单元测试呼叫实例变量的函数
- 如何使用 gtest 对 std::bind 函数进行单元测试
- 如何为将回调作为其参数的函数编写单元测试
- 在单元测试(Nunit或MSTest)中从C#中调用的C 函数的原因是从控制台应用程序中运行的同一代码的不同结果
- 静态函数的单元测试设计模式
- 如何嵌入实时单元测试函数的主体作为 Doxygen 的示例用法
- 使用 Qt 进行单元测试:更改测试函数中使用的标准路径
- 单元测试函数对象是否被调用