cod*_*lor 9 android mockito android-sensors android-testing
如何单元测试android SensorEvent和MotionEvent类?
我需要MotionEvent为单元测试创建一个对象.(我们有模拟创建自定义对象后可以使用的obtain方法)MotionEventMotionEvent
对于MotionEvent类,我试过Mockito像:
MotionEvent Motionevent = Mockito.mock(MotionEvent.class);
Run Code Online (Sandbox Code Playgroud)
但是我在Android Studio上遇到错误:
java.lang.RuntimeException:
Method obtain in android.view.MotionEvent not mocked. See https://sites.google.com/a/android.com/tools/tech-docs/unit-testing-support for details.
at android.view.MotionEvent.obtain(MotionEvent.java)
Run Code Online (Sandbox Code Playgroud)
关于此错误提到的网站,我已添加
testOptions {
unitTests.returnDefaultValues = true
}
Run Code Online (Sandbox Code Playgroud)
在build.gradle上,但我仍然得到同样的错误.有什么想法吗?
我终于MotionEvent通过使用实现了它Roboelectric
import android.view.MotionEvent;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import static org.junit.Assert.assertTrue;
import org.robolectric.RobolectricGradleTestRunner;
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class)
public class ApplicationTest {
private MotionEvent touchEvent;
@Before
public void setUp() throws Exception {
touchEvent = MotionEvent.obtain(200, 300, MotionEvent.ACTION_MOVE, 15.0f, 10.0f, 0);
}
@Test
public void testTouch() {
assertTrue(15 == touchEvent.getX());
}
}
Run Code Online (Sandbox Code Playgroud)
我们如何为 做同样的事情SensorEvents?
| 归档时间: |
|
| 查看次数: |
2196 次 |
| 最近记录: |