• springboot测试、打包、部署


    本文使用《springboot集成mybatis(一)》项目,依次介绍springboot测试、打包、部署。

     

    大多数朋友是做后端的,也就是为其他系统或者前端UI提供Rest API服务。

    那么Rest API怎么测试?

    1)通过前端页面或者直接组装URL,然后使用浏览器提交表单。

    2)通过专业的API测试软件、工具。如:postman,Jmeter等。

    3)通过开发语言编写测试脚本,模拟Http请求。如:HttpURLConnection、HttpClient等。

    4)通过单元测试工具(Junit、JTest等)。

     

    1、springboot单元测试

    在《springboot集成mybatis(一)》项目中,我们已经通过Junit编写了Dao层的测试案例。

    Web层咱们需要借助于MockMvc来模拟Http请求测试。

    提示:若只想测试某一个方法,请选中方法名再执行(Junit默认执行所有Test案例)。

    @RunWith(SpringRunner.class)
    @SpringBootTest
    public class OrderControllerTests {
        @Autowired
        private WebApplicationContext context;
        private MockMvc mvc;
        
        @Before
        public void init() throws Exception {
            //MockMvc注入spring容器,否则controller中注入的service、mapper均会报空指针
            mvc = MockMvcBuilders.webAppContextSetup(context).build();
        }
        
        //测试OrderController.add()方法
        @Test
        public void add() throws Exception {
            //模拟请求参数
            MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
            params.add("orderNo", String.valueOf(System.currentTimeMillis()));
            params.add("orderName", "订单名称");
            params.add("amount", "100");
            
            //通过MockMvc模拟post表单提交
            mvc.perform(post("/order/add").accept(MediaType.APPLICATION_JSON).params(params))
                    .andExpect(status().isOk())
                    .andDo(print())
                    .andReturn();
        }
        
        //测试OrderController.queryAll()方法
        @Test
        public void queryAll() throws Exception {
            //通过MockMvc模拟post表单提交
            mvc.perform(post("/order/queryAll").accept(MediaType.APPLICATION_JSON))
            .andExpect(status().isOk())
            .andDo(print())
            .andReturn();
        }
    }

     

     

    2、springboot打包(maven)

    2.1)Eclipse打包

    选中项目点击鼠标右键 -> Run As -> Maven install

     

    2.2)maven控制台打包(《windows平台安装maven

    切换至项目pom.xml目录,执行命令:mvn install

     

    2.3)通过Maven install插件打包时,Maven默认会执行所有Test案例。

    如何跳过(不执行)测试案例?

    在pom.xml配置文件中增加属性:

    <properties>
      <skipTests>true</skipTests>
    </properties>

    或者执行命令时增加skip参数:

    mvn install -Dmaven.test.skip=true

     

    2.4)指定Maven打包类型

    修改pom.xml配置文件中packaging属性。

    2.4.1)构建jar包:

    <packaging>jar</packaging>

     

    2.4.2)构建war包:

    <packaging>war</packaging>

     

    2.4.3)构建war时,我们排除tomcat相关jar包

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>

     

     

    3.springboot部署

    3.1)部署jar包

    通过java -jar启动(该方式启动后,停止服务比较麻烦)

    nohup java -jar spring-boot-mybatis-0.0.1-SNAPSHOT.jar &

    改进,将当前jar注册为服务

    ln -s /部署目录/spring-boot-mybatis-0.0.1-SNAPSHOT.jar /etc/init.d/springbootmybatis

    启动服务

    service springbootmybatis start

     

    3.2)部署war包

    将构建好的war包放入tomcat/webapps目录下,并启动tomcat服务

     

    3.3)如何重启?

    3.3.1)tomcat部署的,进入tomcat安装目录/bin目录:

    停止服务:./shutdown.sh

    启动服务:./start.sh

     

    3.3.2)jar包独立部署的:

    停止服务:service springbootmybatis stop

    启动服务:service springbootmybatis start

     

    源代码:https://gitee.com/skychenjiajun/spring-boot

     

  • 相关阅读:
    性能测试之Jmeter学习(八)
    性能测试之Jmeter学习(四)
    性能测试之Jmeter学习(三)
    性能测试之Jmeter学习(二)
    性能测试之Jmeter学习(一)
    性能测试基础知识
    爬虫库之BeautifulSoup学习(五)
    Shell编码风格
    JDBC连接Hive数据库
    IDEA unable to find valid certification path to requested target
  • 原文地址:https://www.cnblogs.com/skychenjiajun/p/8549157.html
Copyright © 2020-2023  润新知