为什么第一次测试 运行 和 Robolectric 花了这么长时间?
Why is does the first test run with Robolectric taking so long?
我正在用 Robolectric 测试我的 Android 应用程序,但我遇到了一个奇怪的情况。发生的事情是,当我 运行 一些测试集时,第一个测试 运行 和 Robolectric 比任何其他测试花费更多的时间。它不是特定于测试本身,因为我根据测试顺序尝试了不同的配置,结果是第一个测试总是最慢的。
是否有任何 Robolectric 设置时间或类似时间?提供的任何信息都是有用的。
例如:
是的,这是设置时间。不幸的是,没有一个中心位置可以让您收集有关 Robolectric
的所有信息。
观看 this presentation,您会在第 28、29、30、35 页找到更多解释。
如果您有兴趣,Robolectric
更改了 2.0 版中的一些方法。重大变化是:
Javaassist
用法替换为 ASM
用法 - 加速开始时间
- 他们试图减少影子的数量 类 并使用 ASOP Android 代码来代替 - 为了更好的测试可靠性
如果您使用 gradle
,那么也请查看 robolectric gradle plugin。添加的 运行 并行测试和其他调整选项。 运行 并行测试显然只对大量测试有用(数百+)
我正在用 Robolectric 测试我的 Android 应用程序,但我遇到了一个奇怪的情况。发生的事情是,当我 运行 一些测试集时,第一个测试 运行 和 Robolectric 比任何其他测试花费更多的时间。它不是特定于测试本身,因为我根据测试顺序尝试了不同的配置,结果是第一个测试总是最慢的。
是否有任何 Robolectric 设置时间或类似时间?提供的任何信息都是有用的。
例如:
是的,这是设置时间。不幸的是,没有一个中心位置可以让您收集有关 Robolectric
的所有信息。
观看 this presentation,您会在第 28、29、30、35 页找到更多解释。
如果您有兴趣,Robolectric
更改了 2.0 版中的一些方法。重大变化是:
Javaassist
用法替换为ASM
用法 - 加速开始时间- 他们试图减少影子的数量 类 并使用 ASOP Android 代码来代替 - 为了更好的测试可靠性
如果您使用 gradle
,那么也请查看 robolectric gradle plugin。添加的 运行 并行测试和其他调整选项。 运行 并行测试显然只对大量测试有用(数百+)