添加新的测试套件

添加用户自定义测试用例的步骤:

  1. 为您的测试创建一个新目录。
    • 测试目录可以位于任何地方,只要它在项目树中可见即可。默认情况下,C++test 期望测试存储在项目的 tests 目录的子目录中。但是,您可以使用其他位置,只要相应修改测试配置的测试套件文件的搜索模式设置(执行> 常规选项卡)即可。

       2. 打开测试套件向导,如下所示:

    1. 在项目树中选择您的测试目录。
    2. 选择 Parasoft> 向导> 创建新的测试套件。将打开一个向导。

     3. 在测试套件向导对话框中输入测试套件参数。可用参数包括:

    • 测试套件名称: 指定测试套件名称。
    • 测试套件位置: 指定测试套件位置
    • 测试套件文件: 报告测试套件文件的路径。
    • 测试套件语言: 指定测试套件使用 C 还是 C++ 实现。
    • 测试文件: 将测试套件上下文设置为指定的测试源文件。指定的文件将被设置为 CPPTEST_CONTEXT 宏,该宏将给定的测试套件文件与指定的源文件相关联。
      • 如果在您启动向导时选择了一个文件,则将在此处指定该文件。
      • 如果在启动向导时选择了某个项目,则不会指定上下文,测试套件将处于项目范围内(这意味着它只会在运行项目的所有测试时执行,或者被选择为测试文件时执行)。当它被选作测试文件时 (并且没有 CONTEXT),C++test 假定它具有项目上下文,并准备项目中的所有文件进行链接。
    • 测试套件模式: 指定测试套件是作为包含的测试套件还是独立的测试套件来实现。C++test 对两种类型的测试套件进行插桩;可以访问私有的/受保护的类成员。
      • 包含的测试套件实际上包含在生成的一个测试框架源文件中。“包含的”测试套件与插桩代码一起组合并编译成一个目标文件。所有自动生成的测试套件都是包含的测试套件。可以在原始头文件中包含额外的头文件并定义宏定义。然而,包含的测试套件不需要包含任何头文件,除非使用了在原始被测源文件中不可见的类型。通常,只有在修改生成的测试时(例如,包含一个测试工厂等)才需要这样做。
      • 独立的测试套件会被单独编译,并与用于可测试上下文的测试可执行文件链接。任何额外的头文件必须直接包含在这些测试套件中。可以跟踪包含的头文件的覆盖率信息。

     4. (可选)如果您希望在此时指定测试用例(即,让 C++test 将其注册到测试套件中并为测试添加一个初步框架),则点击下一步,然后使用控件添加测试用例名称并指定它们的添加顺序。
     5. 点击完成

将测试用例添加到现有测试套件

将新测试用例添加到现有测试套件:

  1. 在项目树中选择测试套件文件,或者在编辑器中打开,然后选择 Parasoft> C++test> 测试套件> 添加测试用例模板。 或者,右键点击测试用例浏览器中的测试套件,然后选择新建> 测试用例模板

  2. 输入测试用例的名称。将添加新的测试用例并相应修改测试套件。
  3. 在编辑器中打开测试套件源文件,输入测试用例定义,并根据需要进行其他修改。您可以

    • 使用头文件中定义的包含指令和宏定义。
    • 使用 #include 指令构建测试可执行文件时,指示 C++test 包含额外的文件。
    • 通过更改 CPPTEST_CONTEXT 宏来更改测试套件上下文,该宏将给定的测试套件文件与指定的源文件相关联。只能指定一个源文件。如果未指定上下文,则每当执行项目时都会执行测试套件。
      • 如果在开始执行测试之前在项目树中选择了源文件或目录(例如源文件),C++test 将扫描在测试配置的测试搜索路径中指定的所有测试目录。将执行与所选上下文匹配的所有测试套件。
      • 如果选择了整个项目,则将执行测试路径上的所有测试套件。
      • 如果选择了测试套件或单个测试,则使用 CONTEXT 宏回溯到与该测试套件相关的源文件。只会执行选定的测试套件。
      • 如果使用相对路径,则必须以“./”或“../”开头。

     4. 保存修改后的文件。

测试驱动开发(TDD)提示

生成的模板中的测试用例设置为失败。对于 TDD,您可以编写实现的源代码,然后在您对测试感到满意时删除失败宏。

生成新进程的 cout 语句

如果您有使用 cout 语句生成其他进程的单元测试,则使用 endl 而不是换行符来结束 cout 语句。这样,输出会立即刷新到控制台。

例如,使用:

  • cout << "xyz" << endl;

而不是:

  • cout << "xyz\n";
  • No labels