junit与testng 分别和mockito 结合使用例子
2018-01-22 16:11
549 查看
pom文件 引入:
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
<scope>test</scope>
</dependency>
使用junit:
@RunWith(MockitoJUnitRunner.class)
public class MockTest {
@Before
public void init() {
MockitoAnnotations.initMocks(this);
}
@InjectMocks
TestSendService testSendService = new TestSendServiceImpl();
@InjectMocks
NoticeTSendProxy noticeTSendProxy;
@Test
public void mockTest() {
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("source", From.JBP.from());
noticeTSendProxy.testSendSms(paramMap, getOrderMappingDTO(ChannelStore.SMS.toString(), JBPTestSendCommandType.TEST_SNED_ADVICE_COMMAND,
"单元测试()", "18512581771"));
// testSendService.testSend4Jbp(getOrderMappingDTO(ChannelStore.SMS.toString(), JBPTestSendCommandType.TEST_SNED_ADVICE_COMMAND, "单元测试()", "18512581771"));
}
private OrderMappingDTO getOrderMappingDTO(String channelCode, String orderType, String content, String mobiles) {
OrderMappingDTO orderMappingDTO = new OrderMappingDTO();
orderMappingDTO.setChannel(channelCode);
orderMappingDTO.setOrderType(orderType);
orderMappingDTO.setSmsContent(content);
orderMappingDTO.setMobile(mobiles);
return orderMappingDTO;
}
}
使用testng:
public class OrderSendServiceTest extends BaseTest {
// @Autowired
// TestSendService testSendService;
@InjectMocks
private TestSendService testSendService;
@BeforeClass
public void beforeClass() {
// 自动将依赖的类注入待测类
MockitoAnnotations.initMocks(this);
}
@Test
public void orderSendTest() {
// Assert.assertNotNull(testSendService, "Create orderSendService instance Fail.");
// 测试发送短信
testSendService.testSend4Jbp(getOrderMappingDTO(ChannelStore.SMS.toString(),
JBPTestSendCommandType.TEST_SNED_ADVICE_COMMAND, "单元测试()", "18512581771"));
// 测试发送PUSH
testSendService.testSend4Jbp(getOrderMappingDTO(ChannelStore.SMS.toString(),
JBPTestSendCommandType.TEST_SNED_ADVICE_COMMAND, "单元测试()", "18512581771"));
}
/***
* 待发送的数据
* @param channelCode
* @param orderType
* @param content
* @param mobiles
* @return
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
private OrderMappingDTO getOrderMappingDTO(String channelCode, String orderType, String content, String mobiles) {
OrderMappingDTO orderMappingDTO = new OrderMappingDTO();
orderMappingDTO.setChannel(channelCode);
orderMappingDTO.setOrderType(orderType);
orderMappingDTO.setSmsContent(content);
orderMappingDTO.setMobile(mobiles);
return orderMappingDTO;
}
}
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
<scope>test</scope>
</dependency>
使用junit:
@RunWith(MockitoJUnitRunner.class)
public class MockTest {
@Before
public void init() {
MockitoAnnotations.initMocks(this);
}
@InjectMocks
TestSendService testSendService = new TestSendServiceImpl();
@InjectMocks
NoticeTSendProxy noticeTSendProxy;
@Test
public void mockTest() {
Map<String, String> paramMap = new HashMap<String, String>();
paramMap.put("source", From.JBP.from());
noticeTSendProxy.testSendSms(paramMap, getOrderMappingDTO(ChannelStore.SMS.toString(), JBPTestSendCommandType.TEST_SNED_ADVICE_COMMAND,
"单元测试()", "18512581771"));
// testSendService.testSend4Jbp(getOrderMappingDTO(ChannelStore.SMS.toString(), JBPTestSendCommandType.TEST_SNED_ADVICE_COMMAND, "单元测试()", "18512581771"));
}
private OrderMappingDTO getOrderMappingDTO(String channelCode, String orderType, String content, String mobiles) {
OrderMappingDTO orderMappingDTO = new OrderMappingDTO();
orderMappingDTO.setChannel(channelCode);
orderMappingDTO.setOrderType(orderType);
orderMappingDTO.setSmsContent(content);
orderMappingDTO.setMobile(mobiles);
return orderMappingDTO;
}
}
使用testng:
public class OrderSendServiceTest extends BaseTest {
// @Autowired
// TestSendService testSendService;
@InjectMocks
private TestSendService testSendService;
@BeforeClass
public void beforeClass() {
// 自动将依赖的类注入待测类
MockitoAnnotations.initMocks(this);
}
@Test
public void orderSendTest() {
// Assert.assertNotNull(testSendService, "Create orderSendService instance Fail.");
// 测试发送短信
testSendService.testSend4Jbp(getOrderMappingDTO(ChannelStore.SMS.toString(),
JBPTestSendCommandType.TEST_SNED_ADVICE_COMMAND, "单元测试()", "18512581771"));
// 测试发送PUSH
testSendService.testSend4Jbp(getOrderMappingDTO(ChannelStore.SMS.toString(),
JBPTestSendCommandType.TEST_SNED_ADVICE_COMMAND, "单元测试()", "18512581771"));
}
/***
* 待发送的数据
* @param channelCode
* @param orderType
* @param content
* @param mobiles
* @return
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
private OrderMappingDTO getOrderMappingDTO(String channelCode, String orderType, String content, String mobiles) {
OrderMappingDTO orderMappingDTO = new OrderMappingDTO();
orderMappingDTO.setChannel(channelCode);
orderMappingDTO.setOrderType(orderType);
orderMappingDTO.setSmsContent(content);
orderMappingDTO.setMobile(mobiles);
return orderMappingDTO;
}
}
相关文章推荐
- 使用junit+mockito进行mock测试实例
- Mockito 使用注解来初始化的代码片断 例子
- 基于JUnit使用PowerMock的Mockito扩展在Maven测试项目中的配置说明
- 基于TestNG使用PowerMock的Mockito扩展在Maven测试项目中的配置说明
- 简单示例mock的使用 (Junit结合Jmock)
- 使用Junit和mockito写单测的一些注意点
- 使用Spring+Junit+Mockito做代码自测
- 单元测试及框架简介 --junit、jmock、mockito、powermock的简单使用
- JUnit+Mockito结合测试Spring MVC Controller
- android中将Mockito和GreenDao结合使用
- 单元测试及框架简介 --junit、jmock、mockito、powermock的简单使用
- java队列、栈和多线程结合使用的例子
- 在携程使用TestNG/JUnit 并行跑Appium 有两个关键的地方
- inotify和epoll结合使用的小例子
- 使用Retrofit和Mockito进行可靠的Android API测试
- Java 使用poi导入excel,结合xml文件进行数据验证的例子(增加了jar包)
- Android SqlDelight和SqlBrite无缝结合使用的Demo例子
- 使用Junit4 大结,和一点MOCK
- SPRING + JUNIT + DBUnit + Mockito来做单测
- VB.Net程序代码:Hashtable与ListView结合使用测试例子