【发布时间】:2018-12-05 08:38:17
【问题描述】:
我试图模拟 Appium IOS 驱动程序的示例代码,它给出了 Null >指针异常
初始化 Driver 和 AndroidDriver 对象
Driver driver;
AndroidDriver<AndroidElement> androidDriver;
@SuppressWarnings({ "unchecked" })
@Test
public void getLogAndroid_happyPath() throws Exception{
>Setting logs to mock return type
List<LogEntry> setLogs = new ArrayList<LogEntry>();
setLogs.add(new LogEntry(Level.ALL, 0, "logs"));
driver = new Driver();
使用 Nice Mock 模拟 Android 驱动程序可能导致 void 在此处输入代码>返回类型以及
androidDriver = EasyMock.createNiceMock(AndroidDriver.class);
driver.setAndroidDriver(androidDriver);
EasyMock 对象调用
EasyMock.expect(androidDriver.manage().logs().get(EasyMock.anyString()).getAll()).andReturn(setLogs);
EasyMock.replay(androidDriver);
try {
>Asserting mocked return type
assertTrue(driver.getLog("getLog",5000).contains(setLogs));
} catch (Exception e) {
e.printStackTrace();
}
>Verify EasyMock Object
EasyMock.verify(androidDriver);
EasyMock.reset(androidDriver);
}
【问题讨论】:
-
模拟
AndroidDriver背后的想法是什么?我很难想象你必须这样做的情况。
标签: unit-testing appium easymock