使用 ESP-IDF 进行单元测试
Unit testing with ESP-IDF
目前,我正在使用 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 中。他们按应有的方式工作。
如果我按照单元测试指南中的说明进行操作,我可以构建系统内置的测试用例。但它没有找到我的应用程序的单元测试。这很清楚,因为他们坐在完全不同的地方。
我现在该怎么办?最好不要过多篡改默认的单元测试应用程序?
我可以看到几种方法,但我不知道添加自己的组件的预期方法是什么。他们的测试用例进入所述应用程序:
- 我应该将项目路径添加到单元测试应用程序的某处吗?
- 我应该复制单元测试应用并将其添加到我的项目中吗?
- 我应该在我的项目中创建一个文件夹并在单元测试应用程序中添加一个 link 吗?
ESP-IDF 单元测试设置实际上是为测试其内部组件而设计的,并帮助任何人添加到这些组件。
要单独对您自己的项目进行单元测试,请查看此 example project,其中展示了如何在创建适当项目的同时创建 Unity 单元测试应用程序。请注意,项目本身称为 unit_test
,因此测试应用程序是 unit_test_test
。该组件称为 testable
。 (我标记它是因为它让我感到困惑;像您可能阅读 example_app
或 myproject
一样解释 unit_test
。)
否则,this ESP forum post 还提供了一种将您的组件包含在他们的单元测试应用程序中的方法:
make -C ${IDF_PATH}/tools/unit-test-app EXTRA_COMPONENT_DIRS=/path/to/my_proj/components TEST_COMPONENTS=mycomponent
目前,我正在使用 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 中。他们按应有的方式工作。
如果我按照单元测试指南中的说明进行操作,我可以构建系统内置的测试用例。但它没有找到我的应用程序的单元测试。这很清楚,因为他们坐在完全不同的地方。
我现在该怎么办?最好不要过多篡改默认的单元测试应用程序?
我可以看到几种方法,但我不知道添加自己的组件的预期方法是什么。他们的测试用例进入所述应用程序:
- 我应该将项目路径添加到单元测试应用程序的某处吗?
- 我应该复制单元测试应用并将其添加到我的项目中吗?
- 我应该在我的项目中创建一个文件夹并在单元测试应用程序中添加一个 link 吗?
ESP-IDF 单元测试设置实际上是为测试其内部组件而设计的,并帮助任何人添加到这些组件。
要单独对您自己的项目进行单元测试,请查看此 example project,其中展示了如何在创建适当项目的同时创建 Unity 单元测试应用程序。请注意,项目本身称为 unit_test
,因此测试应用程序是 unit_test_test
。该组件称为 testable
。 (我标记它是因为它让我感到困惑;像您可能阅读 example_app
或 myproject
一样解释 unit_test
。)
否则,this ESP forum post 还提供了一种将您的组件包含在他们的单元测试应用程序中的方法:
make -C ${IDF_PATH}/tools/unit-test-app EXTRA_COMPONENT_DIRS=/path/to/my_proj/components TEST_COMPONENTS=mycomponent