单元/集成测试 junit/testsng

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);

}

}
 
原文地址:https://www.cnblogs.com/chenfx/p/14952204.html