gpt4 book ai didi

android - 如何对作用于加速度计的 Android Activity 进行单元测试?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:47 25 4
gpt4 key购买 nike

我从一个基于此 ShakeActivity 的 Activity 开始我想为它写一些单元测试。我之前为 Android Activity 编写了一些小型单元测试,但我不确定从哪里开始。我想为加速度计提供一些不同的值并测试 Activity 如何响应它。现在我保持简单,只是在“摇动”事件发生时更新一个私有(private) int 计数器变量和一个 TextView。

所以我的问题主要归结为:

如何从单元测试向加速度计发送虚假数据?

最佳答案

我对此的解决方案最终比我预期的要简单得多。我并没有真正测试加速度计,而是在测试应用程序对加速度计引发的事件的响应,我只需要进行相应的测试。我的类(class)实现SensorListener我想测试在 SensorChanged 上会发生什么。然后关键是输入一些值并检查我的 Activity 的状态。示例:

public void testShake() throws InterruptedException {
mShaker.onSensorChanged(SensorManager.SENSOR_ACCELEROMETER, new float[] {0, 0, 0} );
//Required because method only allows one shake per 100ms
Thread.sleep(500);
mShaker.onSensorChanged(SensorManager.SENSOR_ACCELEROMETER, new float[] {300, 300, 300});
Assert.assertTrue("Counter: " + mShaker.shakeCounter, mShaker.shakeCounter > 0);
}

关于android - 如何对作用于加速度计的 Android Activity 进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2806976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com