首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Play 2Java、play-authenticate和Eclipse JUnit测试

Play 2Java、play-authenticate和Eclipse JUnit测试
EN

Stack Overflow用户
提问于 2012-10-22 15:03:43
回答 1查看 488关注 0票数 0

我有一个新的Play 2项目和play-authenticate。我为REST API编写了一些简单的测试用例。测试在控制台上通过得很好,但我不能让其中一些在Eclipse中通过。

代码语言:javascript
复制
@Test
public void testWithoutAuth() {
  running(testServer(3333), new Runnable() {
    @Override
    public void run() {
        Response response = WS.url("http://localhost:3333/secretarea").get().get();
        assertThat(response.getStatus()).isEqualTo(FORBIDDEN);
    }
  });
}

这个示例在控制台上可以正常通过,但在Eclipse中会失败,并显示响应错误代码500。看起来应用程序设置不正常(例如,找不到我自己的AuthProvider )。有没有人设法让这样的测试在Eclipse中工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-22 15:50:41

终于解决了这个问题。诀窍是创建具有自定义配置的FakeApplicatio。在我的例子中,设置如下:

代码语言:javascript
复制
@Test
public void testWithoutAuth() {
    List<String> plugins = new ArrayList<String>();
    plugins.add("be.objectify.deadbolt.DeadboltPlugin");
    plugins.add("service.MyUserServicePlugin");
    plugins.add("providers.MyUsernamePasswordAuthProvider");

    FakeApplication fa = fakeApplication(new HashMap<String,String>(), plugins);

    running(testServer(3333, fa), new Runnable() {
        @Override
        public void run() {
            Response response = WS.url("http://localhost:3333/secretarea").get().get();
            assertThat(response.getStatus()).isEqualTo(FORBIDDEN);
        }
    });
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13006419

复制
相关文章

相似问题

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