Main Content

本页采用了机器翻译。点击此处可查看英文原文。

createSandbox

为 C 代码单元测试创建沙箱

自 R2021a 起

语法

success = createSandbox
createSandbox("Overwrite",overwrite_option)

说明

success = createSandbox 创建一个沙盒文件夹和子文件夹,如果该方法成功创建沙盒则返回 true。文件夹名称为 <LibraryFileName>_sandbox,其中 LibraryFileNamesltest.CodeImporter 对象的 LibraryFileName 属性。仅当 sltest.CodeImporter 对象的 TestType 属性为 UnitTest 时,此方法才适用。

创建的文件夹子目录为:

  • autostub — 包含 auto_stub.hauto_stub.c 文件,仅当导入的代码具有未定义的符号时才会生成这些文件。

  • manualstub — 包含 man_stub.hman_stub.c 文件,您可以使用它们来手动桩件符号。如果 sltest.CodeImporter.SandboxSettingsMode 属性设置为 GenerateAggregatedHeader,则 man_stub.h 头文件包含聚合头。

  • include — 包含沙盒所需的头文件。该文件夹还包含生成的 aggregatedHeader.hinterfaceHeader.h 文件。如果 sltest.CodeImporter.SandboxSettingsMode 属性设置为 GenerateAggregatedHeader,则会生成 aggregatedHeader.h 文件。否则,该文件夹包含一个 interfaceHeader.h 文件。

  • src — 如果 sltest.CodeImporter.SandboxSettings 对象的 CopySource 属性为 true,则包含代码源文件的副本。

createSandbox("Overwrite",overwrite_option) 覆盖现有的沙箱。如果 overwrite_option"on",该方法将删除现有的沙盒目录并创建一个新的沙盒目录。如果 overwrite_option"off",该方法将删除除 manualstub 之外的所有文件夹并生成一个新的沙盒。该方法不会改变 manualstub 文件夹或其内容。默认值为 "off"

输出参量

全部展开

沙盒创建是否成功,以逻辑值形式返回。

示例

全部展开

此示例假设您有现有的 C 代码文件需要测试。

  1. 创建一个 sltest.CodeImporter 对象并指定 myCodeTest 作为 Simulink 库文件名。

    codeimport_obj = sltest.CodeImporter("myCodeTest");

  2. 将源文件分配给 SourceFiles 属性。

    codeimport_obj.CustomCode.SourceFiles = {"myCode1.c","myCode2.c"};

  3. 创建沙盒。要检查沙盒是否存在,请确认 successtrue

    success = codeimport_obj.createSandbox

版本历史记录

在 R2021a 中推出