Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring安全测试失败,出现NullPointerException_Java_Spring_Spring Security - Fatal编程技术网

Java Spring安全测试失败,出现NullPointerException

Java Spring安全测试失败,出现NullPointerException,java,spring,spring-security,Java,Spring,Spring Security,使用Spring Security 3.2.5和Spring Security Test 4.0.0.M1工件,我无法成功运行以下单元测试: @Test public void testRequestOAuthToken() throws Exception { this.mockMvc.perform(post("/oauth/token/") .param("grant_type", "password")

使用Spring Security 3.2.5和Spring Security Test 4.0.0.M1工件,我无法成功运行以下单元测试:

  @Test
    public void testRequestOAuthToken() throws Exception {
        this.mockMvc.perform(post("/oauth/token/")
                            .param("grant_type", "password")
                            .param("client_id", "ios")
                            .param("username", "user")
                            .param("password", "123c86b3634342f")
                            .contentType(MediaType.APPLICATION_FORM_URLENCODED)
                            .accept(MediaType.APPLICATION_JSON)

                            .with(user("ios").password("aabb03880fsddc665ffb9a0").roles("APP")))

                .andDo(print())
                .andExpect(status().isOk());
}
它会导致引发NullPointerException:

有什么建议吗?这是我的Spring单元测试配置:

@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration( locations = { "file:src/main/webapp/WEB-INF/applicationContext.xml", "file:src/main/webapp/WEB-INF/securityApplicationContext.xml" })
public class OAuthUnitTests {

    @Autowired
    private WebApplicationContext wac;

    @Autowired
    private Filter springSecurityFilterChain;

    private MockMvc mockMvc;

    @Before
    public void setUp() {
        this.mockMvc = webAppContextSetup(this.wac)
                .addFilters(springSecurityFilterChain)
                .build();
    }

为什么使用Spring Security Test 4.0.0.M1而不是GA版本?是的,您应该使用最新版本,因为代码自M1以来发生了更改。此外,由于您有stacktrace,一个好的起点是查看NPE可能是由什么引起的。
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration( locations = { "file:src/main/webapp/WEB-INF/applicationContext.xml", "file:src/main/webapp/WEB-INF/securityApplicationContext.xml" })
public class OAuthUnitTests {

    @Autowired
    private WebApplicationContext wac;

    @Autowired
    private Filter springSecurityFilterChain;

    private MockMvc mockMvc;

    @Before
    public void setUp() {
        this.mockMvc = webAppContextSetup(this.wac)
                .addFilters(springSecurityFilterChain)
                .build();
    }