package com.bijian.service;
import com.bijian.BaseMockTest;
import com.bijian.dao.OrderDao;
import com.bijian.dto.AddOrderRsp;
import com.bijian.entity.Book;
import com.bijian.entity.Order;
import com.bijian.entity.User;
import com.bijian.enums.ReturnCodeEnum;
import com.bijian.service.impl.OrderServiceImpl;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.springframework.beans.factory.annotation.Autowired;
import java.math.BigDecimal;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
public class OrderServiceTest extends BaseMockTest {
@Autowired
@InjectMocks
private OrderServiceImpl orderServiceImpl;
@Mock
private OrderDao mockOrderDao;
@Mock
private BookService mockBookService;
@Mock
private UserService mockUserService;
@Before
public void before() throws Exception {
MockitoAnnotations.initMocks(this);
}
@Test
public void test_addOrder_01_success() throws Exception {
Order order = new Order();
order.setId(1);
order.setUserId(2);
order.setBookId(2);
order.setBookNum(2);
String mockUserName = "lisi";
String mockBookName = "javaScript";
BigDecimal mockBookPrice = new BigDecimal("10.2");
User mockUser = new User();
mockUser.setName(mockUserName);
when(mockUserService.findUserById(order.getUserId())).thenReturn(mockUser);
Book mockBook = new Book();
mockBook.setName(mockBookName);
mockBook.setPrice(mockBookPrice);
mockBook.setRemainNum(100);
when(mockBookService.findBookById(order.getBookId())).thenReturn(mockBook);
System.out.println(mockBook.getName());
when(mockOrderDao.addOrder(order)).thenReturn(1);
AddOrderRsp result = orderServiceImpl.addOrder(order);
verify(mockBookService, times(1)).updateBook(Mockito.any(Book.class));
Assert.assertEquals(ReturnCodeEnum.SUCCESS.getCode(), result.getRetCode());
}
@Test
public void test_addOrder_success() throws Exception {
Order order = new Order();
order.setId(1);
order.setUserId(2);
order.setBookId(2);
order.setBookNum(2);
String mockUserName = "lisi";
String mockBookName = "javaScript";
BigDecimal mockBookPrice = new BigDecimal("10.2");
User mockUser = new User();
mockUser.setName(mockUserName);
when(mockUserService.findUserById(Mockito.any(Integer.class))).thenReturn(mockUser);
Book mockBook = new Book();
mockBook.setName(mockBookName);
mockBook.setPrice(mockBookPrice);
mockBook.setRemainNum(100);
when(mockBookService.findBookById(Mockito.any(Integer.class))).thenReturn(mockBook);
when(mockOrderDao.addOrder(Mockito.any(Order.class))).thenAnswer(new Answer<Integer>() {
@Override
public Integer answer(InvocationOnMock invo) {
Object[] args = invo.getArguments();
Order reqOrder = (Order)args[0];
Assert.assertEquals(mockBookName, reqOrder.getBookName());
Assert.assertEquals(mockUserName, reqOrder.getUserName());
Assert.assertEquals(mockBookPrice, reqOrder.getBookPrice());
return 1;
}
});
AddOrderRsp result = orderServiceImpl.addOrder(order);
verify(mockBookService, times(1)).updateBook(Mockito.any(Book.class));
Assert.assertEquals(ReturnCodeEnum.SUCCESS.getCode(), result.getRetCode());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SpringBoot小项目实例
共143个文件
xml:73个
class:24个
java:23个
需积分: 43 28 下载量 78 浏览量
2019-05-03
01:35:58
上传
评论
收藏 196KB ZIP 举报
温馨提示
NULL 博文链接:https://bijian1013.iteye.com/blog/2436311
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot小项目实例 (143个子文件)
gradlew.bat 2KB
fileHashes.bin 18KB
last-build.bin 1B
OrderRestControllerTest.class 5KB
OrderServiceTest.class 4KB
OrderServiceImpl.class 4KB
UserRestController.class 3KB
BookRestController.class 2KB
OrderRestController.class 2KB
UserServiceImpl.class 2KB
OrderServiceTest$1.class 2KB
Order.class 2KB
ReturnCodeEnum.class 2KB
BookServiceImpl.class 1KB
UserDao.class 1KB
Book.class 1KB
BookDao.class 1KB
OrderRsp.class 1KB
User.class 899B
OrderDao.class 867B
AddOrderRsp.class 819B
OrderRsp2.class 777B
UserSpringbootGradeDemoApplication.class 748B
BaseMockTest.class 627B
UserService.class 368B
BookService.class 344B
OrderService.class 313B
bootstrap.css 149KB
bootstrap.css 149KB
.gitignore 276B
build.gradle 1018B
settings.gradle 48B
gradlew 5KB
user_springboot_grade_demo_test.iml 8KB
user_springboot_grade_demo_main.iml 6KB
user_springboot_grade_demo.iml 846B
gradle-wrapper.jar 55KB
OrderServiceTest.java 4KB
OrderServiceImpl.java 3KB
OrderRestControllerTest.java 2KB
UserRestController.java 2KB
UserServiceImpl.java 2KB
BookRestController.java 1KB
OrderRestController.java 1KB
UserDao.java 1KB
Order.java 1KB
BookDao.java 1KB
BookServiceImpl.java 1KB
BaseMockTest.java 1010B
OrderDao.java 954B
Book.java 767B
OrderRsp.java 689B
ReturnCodeEnum.java 563B
AddOrderRsp.java 553B
User.java 537B
OrderRsp2.java 536B
UserService.java 518B
UserSpringbootGradeDemoApplication.java 349B
OrderService.java 337B
BookService.java 291B
buildOutputCleanup.lock 17B
taskHistory.lock 17B
fileHashes.lock 17B
application.properties 350B
application.properties 350B
gradle-wrapper.properties 203B
cache.properties 54B
gc.properties 0B
gc.properties 0B
sql.sql 403B
workspace.xml 94KB
uiDesigner.xml 9KB
hamcrest_core_1_3.xml 1KB
Gradle__org_springframework_boot_spring_boot_test_autoconfigure_2_1_1_RELEASE.xml 718B
modules.xml 717B
Gradle__org_springframework_boot_spring_boot_autoconfigure_2_1_1_RELEASE.xml 693B
Gradle__com_fasterxml_jackson_module_jackson_module_parameter_names_2_9_7.xml 690B
Gradle__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_1_3_2.xml 690B
Gradle__mysql_mysql_connector_java_5_1_46.xml 671B
Gradle__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 669B
Gradle__org_springframework_boot_spring_boot_devtools_2_1_1_RELEASE.xml 668B
Gradle__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_9_7.xml 661B
Gradle__org_mybatis_spring_boot_mybatis_spring_boot_starter_1_3_2.xml 660B
Gradle__org_hibernate_validator_hibernate_validator_6_0_13_Final.xml 655B
Gradle__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_9_7.xml 651B
Gradle__org_springframework_boot_spring_boot_test_2_1_1_RELEASE.xml 647B
Gradle__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_13.xml 640B
Gradle__org_springframework_spring_expression_5_1_3_RELEASE.xml 638B
Gradle__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml 628B
Gradle__org_springframework_boot_spring_boot_2_1_1_RELEASE.xml 623B
Gradle__org_springframework_spring_context_5_1_3_RELEASE.xml 623B
Gradle__org_springframework_spring_webmvc_5_1_3_RELEASE.xml 618B
Gradle__org_apache_tomcat_embed_tomcat_embed_core_9_0_13.xml 615B
Gradle__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml 614B
Gradle__org_springframework_spring_beans_5_1_3_RELEASE.xml 613B
Gradle__org_springframework_spring_core_5_1_3_RELEASE.xml 608B
Gradle__org_springframework_spring_jdbc_5_1_3_RELEASE.xml 608B
Gradle__org_springframework_spring_test_5_1_3_RELEASE.xml 608B
Gradle__org_apache_tomcat_embed_tomcat_embed_el_9_0_13.xml 605B
Gradle__javax_validation_validation_api_2_0_1_Final.xml 604B
共 143 条
- 1
- 2
资源评论
weixin_38669628
- 粉丝: 383
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功