美文网首页
java - spring boot 测试及打包

java - spring boot 测试及打包

作者: 小菜_charry | 来源:发表于2017-09-11 16:47 被阅读46次

    添加测试

    写单元测试类能降低出 bug 的概率,只要单个测试中通过,整体运行起来有七八成的概率是没问题的。再者不能写出单元测试类的代码,说明耦合度还是比较高的,需要优化。

      1. 先确保是否有添加依赖:
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    
      1. 添加测试类
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = EndorseApplication.class)
    @WebAppConfiguration
    public class EndorseApplicationTests {
        private MockMvc mockMvc;
    
        @Autowired
        private WebApplicationContext webApplicationContext;
    
    
        private MediaType contentType = new MediaType(MediaType.APPLICATION_JSON.getType(),
                MediaType.APPLICATION_JSON.getSubtype(),
                Charset.forName("utf8"));
    
        @Before
        public void setup() throws Exception {
            this.mockMvc = webAppContextSetup(webApplicationContext).build();
        }
    
        @Test
        public void bannerControllerTest() throws Exception {
            ResultActions resultActions = mockMvc.perform(MockMvcRequestBuilders.get("/banner")
                    .contentType(contentType))
                    .andExpect(MockMvcResultMatchers.status().isOk());
    
            MvcResult mvcResult = resultActions.andReturn();
            byte[] contentAsByteArray = mvcResult.getResponse().getContentAsByteArray();
            System.out.println(new String(contentAsByteArray));
        }
    
    }
    
      1. 查看测试结果
        在需要测试的方法名上「右键 --> run 'method'」
        会在 run 窗口中出现测试结果:
    测试结果.png

    打包

    打包:在pom.xml同级目录下进行如下操作

       1 mvn clean package
       2 cd .\target\
       3 java -jar .\endorse-0.0.1-SNAPSHOT.jar
    

    打出的jar包可以直接在阿里云上运行,注意事项:

    • 1、版本号是否相同,在pom.xml中定的java版本号与阿里云上的版本号不一致会报异常
    • 2、端口号是否冲突,因为是jar包直接可以运行且默认是8080端口,若阿里云上已经启动了tomcat会有端口号冲突问题。
    • 3、端口是否开放,在我的情况中,修改了jar包中的端口号,而阿里云的安全组中没有开放导致访问不到。

    端口号是直接在 application.properties 中修改即可

    server.port=9090
    

    上面的方式当关闭了命令号窗口,服务就会停止,为了让其能在后台运行,可以(linux下):

    nohup java -jar endorse-0.0.1-SNAPSHOT.jar &
    

    若想要在停止该服务(找到该服务,kill掉):

     ps aux | grep endorse | xargs kill -9
    

    参考:
    http://www.jianshu.com/p/1cd37198c7ee

    相关文章

      网友评论

          本文标题:java - spring boot 测试及打包

          本文链接:https://www.haomeiwen.com/subject/rzlfsxtx.html