首页 > 解决方案 > 如果同时进行单元测试,则会发生错误

问题描述

每个单元测试都没有导致错误。但是,当同时执行多个时会发生这种情况。是否有谷歌测试功能可以在单元测试运行之间设置睡眠?

ps 我不能修改源,因为它不是我的源。

以下命令会导致错误。

./ext_libs_test --gtest_filter=NAV_NC_0002_RouteController_Test*:IF1_LastDestination_Test*:NAV_NC_0029_TrafficInformationController_Test*:NAV_NC_0051_RouteMonitorListController_Test*:NAV_NC_0068_LocationInformationProvider_Test*:NAV_NC_0067_LearningRecordingController_Test*

我想在每个文件之间睡觉。如果您以这种方式键入每个,则不会出现错误。

./ext_libs_test --gtest_filter=NAV_NC_0002_RouteController_Test*
./ext_libs_test --gtest_filter=IF1_LastDestination_Test*
./ext_libs_test --gtest_filter=NAV_NC_0029_TrafficInformationController_Test*
./ext_libs_test --gtest_filter=NAV_NC_0051_RouteMonitorListController_Test*
./ext_libs_test --gtest_filter=NAV_NC_0068_LocationInformationProvider_Test*
./ext_libs_test --gtest_filter=NAV_NC_0067_LearningRecordingController_Test*

标签: unit-testinggoogletest

解决方案


似乎您在测试用例之间有一些依赖关系,并且可能(但不能保证)睡眠不会隐藏这个事实。似乎隐藏问题的是为每个测试用例运行一次应用程序,所以我猜测一些静态数据不是每个测试用例而是每个应用程序实例化的。试着找出这个问题并解决它。


推荐阅读