添加新的测试套件
添加用户自定义测试用例的步骤:
- 为您的测试创建一个新目录。
- 测试目录可以位于任何地方,只要它在项目树中可见即可。默认情况下,C++test 期望测试存储在项目的 tests 目录的子目录中。但是,您可以使用其他位置,只要相应修改测试配置的测试套件文件的搜索模式设置(执行> 常规选项卡)即可。
2. 打开测试套件向导,如下所示:
- 在项目树中选择您的测试目录。
选择 Parasoft> 向导> 创建新的测试套件。将打开一个向导。
3. 在测试套件向导对话框中输入测试套件参数。可用参数包括:
- 测试套件名称: 指定测试套件名称。
- 测试套件位置: 指定测试套件位置
- 测试套件文件: 报告测试套件文件的路径。
- 测试套件语言: 指定测试套件使用 C 还是 C++ 实现。
- 测试文件: 将测试套件上下文设置为指定的测试源文件。指定的文件将被设置为
CPPTEST_CONTEXT
宏,该宏将给定的测试套件文件与指定的源文件相关联。- 如果在您启动向导时选择了一个文件,则将在此处指定该文件。
- 如果在启动向导时选择了某个项目,则不会指定上下文,测试套件将处于项目范围内(这意味着它只会在运行项目的所有测试时执行,或者被选择为测试文件时执行)。当它被选作测试文件时 (并且没有 CONTEXT),C++test 假定它具有项目上下文,并准备项目中的所有文件进行链接。
- 测试套件模式: 指定测试套件是作为包含的测试套件还是独立的测试套件来实现。C++test 对两种类型的测试套件进行插桩;可以访问私有的/受保护的类成员。
- 包含的测试套件实际上包含在生成的一个测试框架源文件中。“包含的”测试套件与插桩代码一起组合并编译成一个目标文件。所有自动生成的测试套件都是包含的测试套件。可以在原始头文件中包含额外的头文件并定义宏定义。然而,包含的测试套件不需要包含任何头文件,除非使用了在原始被测源文件中不可见的类型。通常,只有在修改生成的测试时(例如,包含一个测试工厂等)才需要这样做。
- 独立的测试套件会被单独编译,并与用于可测试上下文的测试可执行文件链接。任何额外的头文件必须直接包含在这些测试套件中。可以跟踪包含的头文件的覆盖率信息。
4. (可选)如果您希望在此时指定测试用例(即,让 C++test 将其注册到测试套件中并为测试添加一个初步框架),则点击下一步,然后使用控件添加测试用例名称并指定它们的添加顺序。
5. 点击完成。
将测试用例添加到现有测试套件
将新测试用例添加到现有测试套件:
在项目树中选择测试套件文件,或者在编辑器中打开,然后选择 Parasoft> C++test> 测试套件> 添加测试用例模板。 或者,右键点击测试用例浏览器中的测试套件,然后选择新建> 测试用例模板。
- 输入测试用例的名称。将添加新的测试用例并相应修改测试套件。
- 在编辑器中打开测试套件源文件,输入测试用例定义,并根据需要进行其他修改。您可以
- 使用标准 C 或 C++ 代码、C/C++test API 文档中描述的宏、可用的测试函数中描述的例程以及测试用例后置条件宏中描述的后置条件。
- 使用头文件中定义的包含指令和宏定义。
- 使用 #include 指令构建测试可执行文件时,指示 C++test 包含额外的文件。
- 通过更改
CPPTEST_CONTEXT
宏来更改测试套件上下文,该宏将给定的测试套件文件与指定的源文件相关联。只能指定一个源文件。如果未指定上下文,则每当执行项目时都会执行测试套件。- 如果在开始执行测试之前在项目树中选择了源文件或目录(例如源文件),C++test 将扫描在测试配置的测试搜索路径中指定的所有测试目录。将执行与所选上下文匹配的所有测试套件。
- 如果选择了整个项目,则将执行测试路径上的所有测试套件。
- 如果选择了测试套件或单个测试,则使用 CONTEXT 宏回溯到与该测试套件相关的源文件。只会执行选定的测试套件。
- 如果使用相对路径,则必须以“./”或“../”开头。
4. 保存修改后的文件。