9

目前,我正在使用 ESP-IDF 并尝试让单元测试工作。

我已经找到了https://esp-idf.readthedocs.io/en/latest/api-guides/unit-tests.html,但有一点我不明白。

但首先,让我解释一下我的设置:

  • 我在 Windows 下工作并且有一个 MSYS32 shell。
  • IDF_PATH指向 ~/esp-idf,我的 esp-idf 套件所在的位置。
  • 但是,我的项目位于 ~/project_dir/subdir。他们按照他们应该的方式工作。

如果我按照单元测试指南中的说明,我可以构建系统内置的测试用例。但它没有找到我的应用程序的单元测试。这很清楚,因为他们坐在完全不同的地方。

我现在该怎么办?最好不要过多地篡改默认的单元测试应用程序?

我可以看到几种方法,但我不知道添加自己的组件的预期方法是什么。他们的测试用例进入上述应用程序:

  • 我应该将项目路径添加到单元测试应用程序的某处吗?
  • 我应该复制单元测试应用程序并将其添加到我的项目中吗?
  • 我应该在我的项目中创建一个文件夹并添加一个指向单元测试应用程序的链接吗?
4

1 回答 1

7

ESP-IDF 单元测试设置实际上是为测试它自己的内部组件而设计的,并帮助任何人添加这些组件。

要单独对您自己的项目进行单元测试,请查看这个示例项目,该项目展示了如何在适当的项目旁边创建 Unity 单元测试应用程序。请注意,项目本身被调用unit_test,因此测试应用程序被调用unit_test_test。该组件称为testable. (我标记它是因为它让我感到困惑;unit_test像你可能读到的那样解释example_appmyproject。)

如果做不到这一点,这篇 ESP 论坛帖子还提供了一种将您的组件包含在其单元测试应用程序中的方法:

make -C ${IDF_PATH}/tools/unit-test-app EXTRA_COMPONENT_DIRS=/path/to/my_proj/components TEST_COMPONENTS=mycomponent
于 2018-11-23T01:52:27.390 回答