gpt4 book ai didi

java - 为什么我的测试没有触发我的过滤器?

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:53 26 4
gpt4 key购买 nike

我有以下问题。即使 HttpHeaders.AUTHORIZATION header 有错误的 token ,我的测试也始终运行正常。理论上它应该失败,因为我有一个检查 token 的过滤器。我的 Jax-RS 程序在浏览器中或使用像 postman 这样的 httpclient 完美运行。所以我必须先生成一个 token ,然后使用该 token 运行 HTTP 命令,否则它将返回状态代码 401。我认为我的配置是错误的,Testframework 正在运行测试而没有触发过滤器。我以前从未使用过 Jax-RS,而且我不知道如何解决这个问题...

public class GamesTest extends JerseyTest{


@Override
protected Application configure() {
return new ResourceConfig(Games.class).register(new AbstractBinder() {
protected void configure() {
bind(GamesXMLDB.class).to(MyGameDBInterfaceDB.class).in(Singleton.class);
bind(UserXMLDB.class).to(MyUserInterfaceDB.class).in(Singleton.class);
}
});
}


@Test
public void getWithoutTokenTest() {
Response response = target("/games").request().header(HttpHeaders.AUTHORIZATION, "").get();
assertEquals(200, response.getStatus());
}

}

最佳答案

我是个白痴,我必须将filter.class 添加到ResourceConfig 中。我认为这不是必需的,因为它会通过注释找到过滤器。

关于java - 为什么我的测试没有触发我的过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54282276/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com