我对这样的方法添加了期望,
expect(locationManager.isLocationSettingsEnabled(anyObject(FragmentActivity.class))).andReturn(isLocationEnabled).anyTimes();
replay(locationManager);
但是当我添加时,在重放后期望再增加一个方法(下面提到),第一个方法会自动重置。
expect(locationManager.isNotificationSettingsEnabled(anyObject(FragmentActivity.class))).andReturn(isNotificationsEnabled).anyTimes();
我想知道如何在不重置的情况下再添加一个期望值。
答案 0 :(得分:1)
Easymock在这个原则上发挥作用。
replay(mockObject)
时,Easymock会在Test Runner环境中注入此模拟行为。因此,在重放模拟对象之前,您需要对模拟对象执行所有期望。
类似的东西:
EasyMock.expect(mockObject.method1()).andReturn(null);
EasyMock.expect(mockObject.method2()).andReturn(null);
EasyMock.replay(mockObject);
密切关注您的问题,我看到您正在使用两个不同的返回子句模拟单个方法 你可以这样做:
EasyMock.expect(mockObject.method1()).andReturn(new Integer(1)).once();
EasyMock.expect(mockObject.method1()).andReturn(new Integer(2)).once();
EasyMock.replay(mockObject);
当这个Easymock在调用方法时第一次返回1作为输出,在第二次调用方法时返回2。
希望这有帮助!
祝你好运!