zoukankan      html  css  js  c++  java
  • 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去掉,再看下执行效果,可以看到出现异常测试,测试用例里的错误显示出来了

  • 相关阅读:
    Map Wiki -- proposed by Shuo Ren
    Smart Disk -- proposed by Liyuan Liu
    ubuntu 16.04下如何打造 sublime python编程环境
    manjaro linux没有ll等命令的解决办法
    python学习-命名规则
    python-unitetest-unittest 的几种执行方式
    python-pytest学习(一)- 简介和环境准备
    Python+request+unittest学习(一)- 读取文本出现 锘 * 系列乱码错误(UTF-8 BOM问题)的原因及解决方法
    Python+Selenium框架版(十)- unittest执行方法之discover()方法
    Python+Selenium框架版(九)- unittest执行法之makeSuit()
  • 原文地址:https://www.cnblogs.com/lyd447113735/p/12730572.html
Copyright © 2011-2022 走看看