【发布时间】:2018-01-07 04:42:30
【问题描述】:
我正在 Android 上尝试测试分片,结果很奇怪:
+ adb -s emulator-5580 shell am instrument -e numShards 2 -e shardIndex 0 -e class com.package.etc.automation.Tests.SanityTest.SanityTest -w com.package.etc.test/android.support.test.runner.AndroidJUnitRunner
com.package.etc.automation.Tests.SanityTest.SanityTest:..........
Time: 306.578
OK (10 tests)
+ adb -s emulator-5582 shell am instrument -e numShards 2 -e shardIndex 1 -e class com.package.etc.automation.Tests.SanityTest.SanityTest -w com.package.etc.test/android.support.test.runner.AndroidJUnitRunner
com.package.etc.automation.Tests.SanityTest.SanityTest:......................
Time: 645.723
OK (22 tests)
如您所见,adb 将测试分成两个不均匀的组。第二个的测试数量是第一个的两倍,执行时间是第一个的两倍。如果你问我,这不是最好的并行性。
是否有可能控制测试的分布,或者至少强制 adb 平均拆分测试?
【问题讨论】:
标签: android junit adb sharding instrumentation