首先,我建议避免使用
Autowired字段,并让您的类通过构造函数依赖项显式公开其依赖项
控制器类:
@Controller@RequestMapping(value="/audit")public class AuditController { private final AuditService auditService; @Autowired public AuditController(AuditService auditService) { this.auditService = auditService } //...}服务等级:
@Servicepublic class AuditService { private final AuditDao auditDao; @Autowired public AuditService(AuditDao auditDao) { this.auditDao = auditDao; } //....}我在想一些类似的事情
@RunWith(SptringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"/dispatcher-servlet.xml", "spring-context.xml"})@WebAppConfigurationpublic class AuditControllerTest { private MockMvc mockMvc; @Mock AuditDao auditDao; @InjectMock AuditService auditService; @Before public void setUp() { MockitAnnotations.initMocks(this); AuditController controller = new AuditController (auditService); mockMvc = MockMvcBuilders.standaloneSetup(controller).build(); } @Test public void testGetAudit() { Mockito.when(auditDao.getAudit(Mockito.any(Long.class))).thenReturn(new Audit(1L)); mockMvc.perform(get("/audit/{id}", "1")).andExpect(status().isOk()); }}但是不确定它在运动时是否会表现出预期。



