gpt4 book ai didi

c++ - 在单元测试中验证 static_assert

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:02 26 4
gpt4 key购买 nike

我想确保 static_assert 在单元测试中正常工作。也就是说,如果我有一个

class MyClass {static_assert(my_type_trait<T>::value, "error"); };

然后在单元测试MyClass<TypeWithTrait> myClass;应该“通过”和MyClass<TypeWithoutTrait> myClass;应该“失败”。

有没有可能做这样的事情?

最佳答案

如果你想检查某些东西是否编译失败,你必须在代码外部测试它。只需编写一个简单的文件,如:

#include "MyClass.h"

int main() {
MyClass<%T%> m;
}

然后编写一个单元测试,用不同的 %T% 值编译该文件。验证编译是按预期成功,还是按预期失败并在失败文本中显示有关 static_assert 的内容。

关于c++ - 在单元测试中验证 static_assert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35278945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com