Cor*_*old 5 android unit-testing accelerometer
我从一个基于ShakeActivity的Activity开始,我想为它编写一些单元测试.我之前已经为Android活动编写过一些小的单元测试,但我不知道从哪里开始.我想为加速度计提供一些不同的值,并测试活动如何响应它.现在我保持简单,只是在发生"摇动"事件时更新私有的int计数器变量和TextView.
所以我的问题很大程度上归结为:
如何从单元测试中将假数据发送到加速度计?
我对此的解决方案最终比我预期的更简单.我没有真正测试加速度计,因为我正在测试应用程序对加速度计引发的事件的响应,我只需要进行相应的测试.我的类实现了SensorListener,我想测试onSensorChanged会发生什么.接下来的关键是输入一些值并检查我的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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12287 次 |
| 最近记录: |