有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何使用@WithMockUser并从属性文件中传递用户名和密码?

我正在编写一个集成测试,其中应用程序使用SpringSecurity应用了基本身份验证。我正在使用@WithMockUser告诉mockMVC如何使用我的端点进行身份验证

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
@WithMockUser(username="username", password="password")

这是可行的,但我想知道是否可以用application.properties文件中的值的引用替换这些字符串,类似于您可以执行的操作:

    @Value("${spring.security.user.name}")
    private String userName;

上述情况是否可能


共 (2) 个答案

  1. # 1 楼答案

    我最终删除了@WithMockUser注释,并使用了这个对我的用例更有效的解决方案。此方法使用配置的基本身份验证进行身份验证,因此,如果要进行更改,则不会出现问题

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class sampleTestIT {
    
        @Autowired
        private WebApplicationContext webApplicationContext;
    
        private MockMvc mockMvc;
    
        @Before
        public void setUp() throws Exception {
            mockMvc = webAppContextSetup(webApplicationContext).build();
        }
        ....
    }