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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM