• 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
  • 相关阅读:
    mentohust 使用
    查找 GPU 计算能力
    在写代码过程中遇到的问题,以及当时的解决方法(如实记录)
    ubuntu14.04 解决屏幕亮度无法调节的问题
    Ubuntu14.04下安装 boost (boost_1.54 最简单的方法)
    在 Ubuntu下安装 labelImg (标数据用)
    在树莓派上配置MariaDB
    使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况
    如何读懂SQL Server的事务日志
    ActiveMQ安装使用与spring整合配置教程
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/10398363.html
Copyright © 2020-2023  润新知