zoukankan      html  css  js  c++  java
  • SpringBoot(十二):springboot2.0.2写测试用例

    导入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
  • 相关阅读:
    游戏中战斗伤害范围-弹道飞行
    游戏中战斗伤害范围攻击计算完整全版
    更加强健的线程模型,解决线程卡死,退出异常情况
    存在即合理,重复轮子orm java版本
    游戏里12方向,任意方向计算正前方矩形规则
    我是如何设计游戏服务器架构的
    游戏中精灵对象的属性功能设计
    看我是如何处理自定义线程模型---java
    面试和面试者如何保持心态
    谈谈枚举的新用法——java
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/10398363.html
Copyright © 2011-2022 走看看