使用ESP-IDF进行单元测试

时间:2018-07-04 15:14:08

标签: unit-testing embedded esp32

当前,我正在使用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中。他们按照应有的方式工作。

如果我按照单元测试指南中的说明进行操作,则可以构建系统中内置的测试用例。但是它找不到我的应用程序的单元测试。很明显,因为他们完全坐在其他地方。

我现在该怎么办?难道不会过多篡改默认的单元测试应用程序吗?

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

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

1 个答案:

答案 0 :(得分:1)

ESP-IDF单元测试设置实际上旨在测试其内部组件,并帮助添加这些组件的任何人。

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

如果失败,this ESP forum post还提供了一种将组件包含在其单元测试应用程序中的方法:

make -C ${IDF_PATH}/tools/unit-test-app EXTRA_COMPONENT_DIRS=/path/to/my_proj/components TEST_COMPONENTS=mycomponent