首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vaadin UI使用JUnit4测试getPage()、getLocation()

Vaadin UI使用JUnit4测试getPage()、getLocation()
EN

Stack Overflow用户
提问于 2017-10-31 18:19:07
回答 1查看 281关注 0票数 0

我正在尝试测试其中一个具有Vaadin UI参数的类,

在测试执行级别,我有一个空指针异常

代码语言:javascript
复制
String basePath = getBasePath();

测试用例无法访问此部分,因为由于NullPointerException而无法访问getBasePath()方法。

代码语言:javascript
复制
protected String getBasePath(){
    String basePath = "";

    String host = UI.getCurrent().getPage().getLocation().getHost();
    int port = UI.getCurrent().getPage().getLocation().getPort();
    String path_app = UI.getCurrent().getPage().getLocation().getPath();
    String http_s = UI.getCurrent().getPage().getLocation().getScheme();

所以在这部分代码中,我测试了

代码语言:javascript
复制
UI.getCurrent().getPage()

有一个结果,那么它就不是空的,并且test可以到达它。但是getLocation()有一个空指针异常。

代码语言:javascript
复制
@Before
public void init() throws URISyntaxException, NoSuchFieldException, SecurityException {

    TetUI tetUI = new TetUI();
    UI.setCurrent(tetUI);
    UI.getCurrent().getPage().setLocation("Something");
      }

我这样设置了位置,或者也可以是一个URI,但它仍然是空的。

我试着在互联网上找到一些关于这个话题的其他来源,但什么也没有出来。

也许我做的方法完全错了,这种方法是正确的吗?有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-12 03:22:45

通过Vaadins静态方法设置值效果不是很好。

您有两个选择:

使用PowerMock.

  • Wrap调用外观的
  1. 模拟静态方法调用UI方法,并使用Mockito模拟它。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47032894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档