我目前正在尝试为没有UI的Android应用程序编写一些测试(简单的后台服务)。我的Android服务基本上调用另一个负责大部分工作的类。我想测试这个类,但在其中我使用的东西是:
创建一个JSON对象。
这些值在我的测试中为空,因为我试图在不依赖Android设备的情况下进行测试。有没有办法在测试期间模拟这些值或更改其默认值?我的测试真正要验证的是我使用这些值构建的JSON对象是否正确构建。
答案 0 :(得分:1)
有没有办法在测试期间模拟这些值或更改其默认值?
对于Android,我们使用名为Mockito
的库做一个你想做的事的简单方法是:
// create mock
YourBackgroundService test = Mockito.mock(YourBackgroundService.class);
// define return value for method getSerial()
when(test.getSerial()).thenReturn("42UNIV");
// use mock in test....
assertEquals(test.getSerial(), "42UNIV");