Dav*_*ria 6 c++ unit-testing googletest c++11
我想确保static_assert在单元测试中正常工作.也就是说,如果我有一个
class MyClass {static_assert(my_type_trait<T>::value, "error"); };
Run Code Online (Sandbox Code Playgroud)
然后在单元测试中MyClass<TypeWithTrait> myClass;应该"通过"并且MyClass<TypeWithoutTrait> myClass;应该"失败".
可以这样做吗?
如果您想检查某些内容是否无法编译,则必须在代码外部对其进行测试。只需编写一个简单的文件,例如:
#include "MyClass.h"
int main() {
MyClass<%T%> m;
}
Run Code Online (Sandbox Code Playgroud)
并编写一个单元测试,用不同的%T%. 验证编译是否按预期成功,或按预期失败并static_assert在失败文本中显示有关内容。
| 归档时间: |
|
| 查看次数: |
1521 次 |
| 最近记录: |