为了账号安全,请及时绑定邮箱和手机立即绑定
  • <!-- spring boot start -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <exclusions>
            <!-- 排除自带的logback依赖 -->
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
    <!-- springboot-log4j -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j</artifactId>
    </dependency>
    package com.beauty.beauty.aspect;
    
    import org.aspectj.lang.annotation.After;
    import org.aspectj.lang.annotation.Aspect;
    import org.aspectj.lang.annotation.Before;
    import org.aspectj.lang.annotation.Pointcut;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.stereotype.Component;
    
    @Aspect
    @Component
    public class HttpAspect {
    
    /*
        @Before("execution(public * com.beauty.beauty.controller.BeautyController.*(..))")
        public void log(){
            System.out.println("Aspect");
        }
    
    
        @After("execution(public * com.beauty.beauty.controller.BeautyController.*(..))")
        public void logAffter(){
            System.out.println("Aspect After");
        }
    */
       private final static Logger logger=LoggerFactory.getLogger(HttpAspect.class);
    
        @Pointcut("execution(public * com.beauty.beauty.controller.BeautyController.*(..))")
        public void log(){
            System.out.println("Aspect public");
        }
    
        @Before("log()")
        public void logbefore(){
            System.out.println("Aspect Before");
        }
    
        @After("log()")
        public void logafter(){
            System.out.println("Aspect After");
        }
    
    
    
    
        // @Before("execution(public * com.beauty.beauty.controller.BeautyController.beutylist(..))")
    
    }


    查看全部
  • controller测试https://img1.sycdn.imooc.com//5cde4e7a00014afc08140480.jpg

    查看全部
    0 采集 收起 来源:单元测试

    2019-05-17

  • aa
    查看全部
    0 采集 收起 来源:表单验证

    2019-05-16

  • 打包跳过单元测试的方法:

    mvn clean pacakge --Dmaven.test.skip=true

    查看全部
    0 采集 收起 来源:单元测试

    2019-04-30

  • Q: 如果写了很多个文件和单元测试,是不是要每个方法都进行右键测试

    A:不是,当我们对项目进行打包(mvn clean package)的时候就会对项目进行单元测试(会有日志打出来给我们)


    查看全部
    0 采集 收起 来源:单元测试

    2019-04-30

  • 对controller的一个方法进行测试:

    1. 右键方法-go to-Test,然后勾选我们要测试的方法

    2. 测试类里面

      1. 注解@RunWith(SpringRunner.class)

      2. 注解@SpringBootTest

      3. 注解@AutoConfigureMockMvc

      4. Autowired MockMvc这个类

      5. 在方法里面mvc.perfom的方式并且andExpect:具体看代码

    查看全部
    0 采集 收起 来源:单元测试

    2019-04-30

  • 使用IDEA对service方法进行更加方便的测试:

    • 右键要测试的方法-go to-Test-显示已经有的测试

      • 如果没有就可以创建一个测试,然后会帮忙判断这个类下面所有的方法,勾选自己想要测试的方法即可(这样会在测试目录下面建一个Service对应目录,然后做好基本的测试框架)

    查看全部
    0 采集 收起 来源:单元测试

    2019-04-30

  • 对service进行单元测试

    1. 首先在service里面写好方法(记得写好注释)

    2. 在test/java/com.imooc下面新建一个GirlServiceTest类

      1. 加两个注解:

    • @RunWith(SpringRunner.class)表示我们要在测试环境里面跑,底层使用的是junit测试工具

    • @SpringBootTest:表示我们将启动整个spring工程

    注入要测试的GirlService:使用@Autowired

    在测试的方法上,记得加上@Test注解,

    然后在方法里面加使用Service的方法(跟程序里面的调用很像)(唯一不同的是在在类上加了两个注解,然后在方法上加了Test注解)

    然后在方法里面加一个断言Assert来测试是否返回结果跟我们想象的相同

    启动:文件上右键-Run GirlServiceTest

    1. 注意,实现并没有启动工程,在下方框框的顶上可以看到进度条会显示测试通过的标志

    2. 而且我们还可以单独Run一个测试方法


    查看全部
    0 采集 收起 来源:单元测试

    2019-04-30

  • 单元测试目标:

    • service

    • api

    查看全部
    0 采集 收起 来源:单元测试

    2019-04-30

  • 异常处理(下)总结:

    1. 通过在domain定义一个Result类,固定返回的内容格式

    2. 在service里面定义GirlService,让逻辑在一个地方处理,另外因为不需要进行返回的处理,所以引入了异常

    3. 定义自己的异常GirlException可以除了msg,还可以返回code的字段异常

    4. 加一个ExceptionHandle捕获异常的类

    5. 将code和msg定义成枚举进行统一管理

    查看全部
  • 传枚举内容的方式

    查看全部
  • 将返回错误和msg进行统一管理:enums

    查看全部
  • 如果不清楚异常具体是在哪里,我们可以在ExceptionHandle里打日志对异常进行记录

    查看全部
  • notes:

    • 在service里面面修改了抛出的异常,那么在handle里面捕获的修改捕获异常的方式

    查看全部
  • 如果是Java自己的exception,只能返回String内容,这样不能够,所以我们实现一个自己的exception

    • notes:

      • 记得继承的是RuntimeException,Spring框架只对抛出的异常是RuntimeException才会进行对事务的回滚(如果是Exception是不会进行事务回滚的)

      • 在构造方法里面我们自己存一个code,另外由于父类的构造方法肯定会传一个message进来,所以采用super(message)

    查看全部

举报

0/150
提交
取消
课程须知
没有基础的同学建议先学习前置课程 《2小时学习Spring Boot》 http://www.imooc.com/learn/767, 代码示例请参考 https://git.oschina.net/liaoshixiong/girl
老师告诉你能学到什么?
Spring Boot针对Web方面的相关技巧

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!