请注意,这不是How write a unit test for verifying compiling error?的副本,因为我不关心测试外部库或编译器本身的正确性。
在C++中,特别是在处理模板时,通常采用防止某些特定代码段被编译的技术。由于这些问题可能会令人费解,因此,确保特定代码段确实确实产生编译器错误的最佳方法是什么?
由于测试甚至不应该编译,因此您不能依赖boost-test之类的东西,所以我想应该将其集成到构建系统中吗?通常如何处理这些问题?
最佳答案
以类似编写编译器测试的方式进行。您将以某种脚本语言(shell,perl,tcl等)进行一些测试代码,这些代码将在给定的代码片段上运行编译器,并检查是否正确编译了正确的代码。
Test::Harness
系统应基本上易于使用。 关于c++ - 如何对模板代码的故意编译错误进行单元测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7282350/