• JUnit-异常测试


    JUnit-异常测试

    Junit 用代码处理提供了一个追踪异常的选项。你可以测试代码是否它抛出了想要得到的异常。expected 参数和 @Test 注释一起使用。




    创建一个MessageUtil.java类,在里面的其中一个方法中手动写一个错误:比如分母为0的一个分式

    package 异常测试;
    
    public class MessageUtil {
    
        private String message;
    
        MessageUtil(String message){
            this.message = message;
    
        }
    
    //    打印message
        public String printMessage(){
            System.out.println("MessageUtil类中printMessage()方法中的输出信息:"+message);
            int a=0;
            int b = 1/a;
            return message;
        }
    
    //    打印添加内容后的message
        public String salutationMessage(){
            message = "Add"+message;
            System.out.println("MessageUtil类中salutationMessage()方法中的输出信息:"+message);
            return message;
        }
    
    }
    
    




    创建一个测试类TestJunit.java

    • 给 testPrintMessage() 测试用例添加需要的异常 ArithmeticException。
    package 异常测试;
    
    
    import org.junit.Test;
    
    import static org.junit.Assert.assertEquals;
    
    public class TestJunit {
        String message = "测试信息";
        MessageUtil messageUtil = new MessageUtil(message);
    
    
        @Test(expected = ArithmeticException.class)
        public void testPrintMessage() {
            System.out.println("对PrintMessage()方法返回的值进行测试");
            assertEquals(message,messageUtil.printMessage());
        }
    
        @Test
        public void testsalutationMessage(){
            System.out.println("对salutationMessage()方法返回的值进行测试");
            message = "Add"+message;
            assertEquals(message,messageUtil.salutationMessage());
        }
    }
    
    




    创建一个TestRunner.java类执行测试用例

    package 异常测试;
    
    import org.junit.runner.JUnitCore;
    import org.junit.runner.Result;
    import org.junit.runner.notification.Failure;
    
    
    public class TestRunner {
        public static void main(String[] args) {
            Result result = JUnitCore.runClasses(TestJunit.class);
    
            for(Failure failure:result.getFailures()){
                System.out.println(failure.toString());
            }
            System.out.println(result.wasSuccessful());
        }
    }
    
    




    可以看到添加了测试用例需要的异常后,即使用例中有错误,也能正常通过测试




    现在将TestJunit.java中添加的异常 ArithmeticException去掉,再看下执行效果,可以看到出现异常测试,测试用例里的错误显示出来了

  • 相关阅读:
    为什么byte取值负128到127.md
    傻傻分不清?Integer、new Integer() 和 int 的面试题
    Spring 面试 7 大问题,你顶得住不?
    消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型?
    poj 3684 Physics Experiment(数学,物理)
    poj 3320 Jessica's Reading Problem(尺取法)
    java面试
    nyoj 234 吃土豆
    Web 通信 之 长连接、长轮询(long polling)
    XHTML使用规范
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/12730572.html
Copyright © 2020-2023  润新知