|
|
1
12
你可以用make来做。每个测试都是一个代码片段。下面是一个VC++的2个测试的工作示例。(我使用了两个批处理文件进行通过测试和失败测试)。我在这里使用GNU make。 生成文件:
必须通过但失败。cpp
通过测试
失败测试
请注意,cl.exe(即Visual Studio编译器)必须位于您的路径中,才能“正常工作”
另外,我怀疑这会让我出名:——) |
|
|
2
6
顺便说一句,我所知道的唯一允许这种开箱即用测试的构建系统是Boost。构建: 检查这里“ http://beta.boost.org/boost-build2/doc/html/bbv2/builtins/testing.html
.
|
|
|
3
1
不幸的是,没有一种简单的方法可以按照您希望的方式测试编译错误,我以前也希望这样做。 无论如何,如果您的测试足够小,您可以编写简短的不可编译代码,如您的示例,并使用脚本验证生成的错误是否正确(同样,您刚刚说过)。 这类事情的一个例子是Unix的配置脚本,在我见过的多个脚本中,他们试图编译一些小示例来验证编译器的版本/功能,以正确配置makefile。 所以至少你可以知道你并不孤单。现在,如果您为这类事情编写了一个成功的测试框架,您可能会出名:) 编辑: 您也可以使用#define来尝试或不编译不可编译的代码,如下所示:
请注意,这是我刚刚想到的,这种模式可能有很多问题,但它可能会成为一些更好想法的种子。 |
|
Daniel · C#编译器在应该出错时失败 1 年前 |
|
|
Floris · 为什么cpp编译器在类型声明不正确时要转换为int? 1 年前 |
|
obtein · 内存流。写在客户端上有效,但在服务器上无效? 1 年前 |
|
|
kamkow1 · 匿名结构的初始值设定项错误无效 1 年前 |