我有一个@Aspect
编织我所有控制器操作方法的执行。当我运行系统时它工作正常,但在单元测试中却不行。我通过以下方式使用 Mockito 和 junit:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:**/spring-context.xml")
@WebAppConfiguration
public class UserControllerTest {
private MockMvc mockMvc;
@Mock
private RoleService roleService;
@InjectMocks
private UserController userController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
...
mockMvc = MockMvcBuilders.standaloneSetup(userController).build();
}
...
}
有一些@Test
使用mockMvc.perform()
.
我的方面是:
@Pointcut("within(@org.springframework.stereotype.Controller *)")
public void controller() { }
@Pointcut("execution(* mypackage.controller.*Controller.*(..))")
public void methodPointcut() { }
@Around("controller() && methodPointcut()")
...