导入maven依赖:

        <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>

测试用例:

import java.util.ArrayList;
import java.util.Date;
import java.util.List; import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.boco.jobmonitor.App;
import com.boco.jobmonitor.model.SjmcJobitem;
import com.boco.jobmonitor.service.SjmcJobitemService;
import com.boco.jobmonitor.service.impl.SjmcJobitemServiceImpl;
import com.boco.jobmonitor.vo.ClusterAppVo;
import com.boco.jobmonitor.vo.ClusterNodeVo; @RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = { App.class, JobitemServiceImpl.class }, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)//配置启动类
public class AppTest { @Autowired
private JobitemService sJobitemService; @Test
public void testInsertJob() {
Jobitem jobitem = new Jobitem("application_1548381669007_0055", "/home/dx/tommyduan/submit_x1_x2.sh",
"RUNING", "", "1", "admin", new Date());
Integer result = sJobitemService.insert(jobitem);
System.out.println(result);
}
}

注意:

在@SpringBootTest(classes = { App.class, JobitemServiceImpl.class }中可选包含JobitemServiceImpl(一定不能忘记注册@Service到该类,否则会抛出异常,说一些依赖未能加载)。

App.class是springboot的入口类:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.scheduling.annotation.EnableScheduling; import tk.mybatis.spring.annotation.MapperScan; /**
* SpringBoot入口函数<br>
* 启动脚本:java -jar -Dspring.profiles.active=prod -Dserver.port=8080
* 。。。-web-1.0.0-SNAPSHOT.jar
* */
@SpringBootApplication(scanBasePackages = {})
@MapperScan("com.dx.jobmonitor.mapper")
@EnableScheduling
public class App {
private static final Logger logger = LoggerFactory.getLogger(App.class); public static void main(String[] args) {
logger.info("App start...");
SpringApplication.run(App.class, args);
}
}

运行:

运行日志如下:

log4j:WARN No appenders could be found for logger (org.springframework.test.context.junit4.SpringJUnit4ClassRunner).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/D:/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/D:/.m2/repository/org/slf4j/slf4j-log4j12/1.7.25/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] . ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.2.RELEASE) 2019-02-18 22:38:59.277 INFO 21268 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
Mon Feb 18 22:39:01 CST 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2019-02-18 22:39:01.921 INFO 21268 --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
2019-02-18 22:39:01.927 DEBUG 21268 --- [ main] c.b.j.m.PermissionMapper.selectAllPerms : ==> Preparing: SELECT id, permission_id, name, description, url, perms, parent_id, type, order_num, icon, status, create_time, update_time FROM permission WHERE status=? ORDER BY order_num
2019-02-18 22:39:02.089 DEBUG 21268 --- [ main] c.b.j.m.PermissionMapper.selectAllPerms : ==> Parameters: 1(Integer)
2019-02-18 22:39:02.152 DEBUG 21268 --- [ main] c.b.j.m.PermissionMapper.selectAllPerms : <== Total: 41
2019-02-18 22:39:02.624 INFO 21268 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2019-02-18 22:39:02.624 INFO 21268 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.31
2019-02-18 22:39:02.635 INFO 21268 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener : Loaded APR based Apache Tomcat Native library [1.2.19] using APR version [1.6.5].
2019-02-18 22:39:02.636 INFO 21268 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener : APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2019-02-18 22:39:02.636 INFO 21268 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener : APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
2019-02-18 22:39:02.639 INFO 21268 --- [ost-startStop-1] o.a.catalina.core.AprLifecycleListener : OpenSSL successfully initialized [OpenSSL 1.1.1a 20 Nov 2018]
2019-02-18 22:39:02.814 INFO 21268 --- [ost-startStop-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2019-02-18 22:39:04.705 WARN 21268 --- [ main] org.thymeleaf.templatemode.TemplateMode : [THYMELEAF][main] Template Mode 'LEGACYHTML5' is deprecated. Using Template Mode 'HTML' instead.
2019-02-18 22:39:06.152 INFO 21268 --- [ main] c.b.jobmonitor.aspect.RedisCacheAspect : 清空缓存 - scom_dx_jobmonitor_service_impl_JobitemServiceImpl*
2019-02-18 22:39:06.255 INFO 21268 --- [ main] io.lettuce.core.EpollProvider : Starting without optional epoll library
2019-02-18 22:39:06.256 INFO 21268 --- [ main] io.lettuce.core.KqueueProvider : Starting without optional kqueue library
2019-02-18 22:39:06.459 DEBUG 21268 --- [ main] c.b.j.mapper.JobitemMapper.insert : ==> Preparing: INSERT INTO jobitem ( id,appid,submitfilepath,state,monitortype,createuserid,createusername,createtime ) VALUES( ?,?,?,?,?,?,?,? )
2019-02-18 22:39:06.508 DEBUG 21268 --- [ main] c.b.j.mapper.JobitemMapper.insert : ==> Parameters: null, application_1548381669007_0054(String), /home/dx/tommyduan/submit_x1_x2.sh(String), RUNING(String), (String), 1(String), admin(String), 2019-02-18 22:39:06.137(Timestamp)
2019-02-18 22:39:06.540 DEBUG 21268 --- [ main] c.b.j.mapper.JobitemMapper.insert : <== Updates: 1
2019-02-18 22:39:06.543 DEBUG 21268 --- [ main] c.b.j.m.S.insert!selectKey : ==> Executing: SELECT LAST_INSERT_ID()
2019-02-18 22:39:06.546 DEBUG 21268 --- [ main] c.b.j.m.S.insert!selectKey : <== Total: 1
1
2019-02-18 22:39:07.705 INFO 21268 --- [ Thread-3] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} closed

SpringBoot(十二):springboot2.0.2写测试用例的更多相关文章

  1. springboot学习入门简易版二---springboot2.0项目创建

    2 springboot项目创建(5) 环境要求:jdk1.8+ 项目结构: 2.1创建maven工程 Group id :com.springbootdemo Artifact id: spring ...

  2. SpringBoot(十一):springboot2.0.2下配置mybatis generator环境,并自定义字段/getter/settetr注释

    Mybatis Generator是供开发者在mybatis开发时,快速构建mapper xml,mapper类,model类的一个插件工具.它相对来说对开发者是有很大的帮助的,但是它也有不足之处,比 ...

  3. springboot(十二):springboot如何测试打包部署

    有很多网友会时不时的问我,spring boot项目如何测试,如何部署,在生产中有什么好的部署方案吗?这篇文章就来介绍一下spring boot 如何开发.调试.打包到最后的投产上线. 开发阶段 单元 ...

  4. SpringBoot(十三):springboot2.0.2定时任务

    使用定义任务: 第一步:启用定时任务第二步:配置定时器资源等第三步:定义定时任务并指定触发规则 1)启动类启用定时任务 在springboot入口类上添加注解@EnableScheduling即可. ...

  5. springboot(十二):springboot单元测试、打包部署

    单元测试 1.在pom包中添加spring-boot-starter-test包引用 <dependency> <groupId>org.springframework.boo ...

  6. springboot(十二)-分布式锁(redis)

    什么是分布式锁? 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁.进程锁. 线程锁:主要用来给方法.代码块加锁.当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段.线程锁只在同一 ...

  7. springboot(十二) SpringBoot 性能优化

    代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo springboot优化主要有三类优化:1.包扫描优化 2. ...

  8. Activiti7整合SpringBoot(十二)

    1 SpringBoot 整合 Activiti7 的配置 为了能够实现 SpringBoot 与 Activiti7 整合开发,首先我们要引入相关的依赖支持.所以,我们在工程的 pom.xml 文件 ...

  9. SpringBoot(十二)_springboot整合PageHelper

    我之所以会发现这个PageHelper这个东东 是因为公司在使用 ,刚开始我也没太注意这个插件,感觉不就是个分页插件吗?也就那样,直到一天,我在网上找了个代码生成器,用来构建代码,因为它是针对mysq ...

随机推荐

  1. day73 中间件 以及模板引擎

    模板引擎: 基本实用{{k1}}  if for 模板中自定义函数:操作步骤 1在已经注册的App中创建一个名字叫templates文件夹 2任意创建一个py文件, 3创建名字叫register 的L ...

  2. VS项目启动后 提示ID为*******的进程当前未运行

    就是VS2015中的这种问题,启动调试时,右下角根本没有IISPress图标出现.我的工程是因为突然停电,就再也调试不了了! 解决办法: 用文本编辑器打开Web项目下的{X}.csproj文件,然后查 ...

  3. 【LeetCode算法-9】Palindrome Number

    LeetCode第9题 Determine whether an integer is a palindrome. An integer is a palindrome when it reads t ...

  4. HDU 3966 Aragorn's Story(模板题)【树链剖分】+【线段树】

    <题目链接> 题目大意: 给定一颗带点权的树,进行两种操作,一是给定树上一段路径,对其上每个点的点权增加或者减少一个数,二是对某个编号点的点权进行查询. 解题分析: 树链剖分的模板题,还不 ...

  5. php mysql 编码问题

    php mysql 编码问题 问题: PHP从数据库中读取数据,并echo出来,数据中文显示正常:但是echo出新定义的中文字符串,新定义的字符串会乱码. 由此可能是数据库中提取出来的中文编码和php ...

  6. Linux 系统分级及root权限相关

    单用户模式修改用户密码 救援模式 让我们先来了解一下linux的运行步骤 1. Linux系统引导的顺序掌握Linux系统引导的顺序:BIOSMBRKernelinit其中,BIOS的工作是检查计算机 ...

  7. Xamarin Essentials教程数据处理传输数据

    Xamarin Essentials教程数据处理传输数据 在移动应用程序中,除了常规的数据处理,还涉及数据存储.数据传输.版本数据多个方面.Xamarin.Essentials组件提供了多个数据处理相 ...

  8. Android事件分发流程总结

    Action_Down 当按下一个控件,调用流程是Activity.dispatchTouchEvent -> ViewGroup.dispatchTouchEvent , 1.ViewGrou ...

  9. vs2010黑色主题Dark完美设置

    版权声明:本文为博主原创文章,未经博主允许不得转载.   ----------------------------------------------------------------------- ...

  10. [vscode] pylint在虚拟环境下错误告警问题

    在左下角点击python, 选择对应的虚拟环境即可.