1、使用junit测试
@RunWith(MockitoJUnitRunner.class) // 使用注解或者initMocks 注入mock public class TestJunit { @Mock TestDao testDao; @InjectMocks TestService testService; /* @Before public void initMock(){ MockitoAnnotations.initMocks(this); }*/ @Test public void test1() { when(testDao.Insert()).thenReturn("test"); String s = testService.insert(); System.out.println(s); } }
2、使用junit集成springboot测试
@SpringBootTest(classes = Springapplication22.class) //springboot启动类,依靠启动类找扫描springcontext的bean
@RunWith(SpringRunner.class)
public class testJunitIntegration {
@Autowired
ApplicationContext context;
@MockBean //从容器找到bean,并且把mockbean替换旧的bean
TestDao testDao;
@Autowired
TestService te;
@Test
public void test1() {
// TestService testService1 = (TestService)context.getBean(TestService.class);
when(testDao.Insert()).thenReturn("test");
// String insert = testService1.insert();
String s = te.insert();
System.out.println(s);
}
}
3、使用Testng集成springboot测试
@SpringBootTest(classes = Springapplication22.class)
//@ContextConfiguration
public class testngt2 extends AbstractTestNGSpringContextTests{
@Autowired
ApplicationContext context;
@MockBean
@Autowired //先从容器里取得bean,再mockbean替换
TestDao testDao;
@Autowired
TestService testService;
@Test
public void test1() {
// TestService testService1 = (TestService)context.getBean(TestService.class);
when(testDao.Insert()).thenReturn("test");
String insert1 = testService.insert();
System.out.println(insert1);
}
}