我想测试一下我的Window.open(String)调用是否使用了正确的URL (用于下载文件)。
除了像这样使用部分模拟之外,还有更好的方法吗?
MySUT sut = Mockito.spy(new MySUT());
String expectedURL = "http://www.example.com";
doNothing().when(sut).openWindow(expectedURL);
sut.doSomethingThatOpensURL();
verify(sut).openWindow(expectedURL);在MySUT中,openWindow(String)尽可能简单
void openWindow(String url) {
Window.open(url);
}GwtMockito是否提供了一些东西来测试像Window.open(String)这样执行原生javascript的方法
发布于 2015-01-30 21:52:30
我想没有能力使用GwtMockito来验证它。但我相信使用PowerMock和EasyMock是可能的。这个模拟框架为测试静态方法和第三方类提供了极大的灵活性。
我刚刚创建了一个简单的示例,说明如何测试Window.open()。例如,在我的测试用例中,我只是检查Window.alert()。
@RunWith(PowerMockRunner.class)
@PrepareForTest(Window.class)
@SuppressStaticInitializationFor("com.google.gwt.user.client.Window")
public class SimpleTester {
/** Simple class for test. */
private class TestClass {
public void open(String url) {
Window.alert(url);
}
}
@Test
public void test() {
PowerMock.mockStatic(Window.class);
TestClass obj = new TestClass();
Window.alert("test");
EasyMock.expectLastCall();
PowerMock.replay(Window.class);
obj.open("test");
PowerMock.verify(Window.class);
}
}https://stackoverflow.com/questions/28235072
复制相似问题