• 正则表达式 和 junit测试


    需要知道一些常规的正则表达式语句,然后可以仿照规则写出一下正则表达式语句。然后是关于junit测试.

     

     

    知道了一个之前看过的文档,然后有功夫就看一下那个文档就可以,或者后面找时间搜索一下。

     

    正则表达式是一个字符串:

    ^开头

    $结尾。

    []表示可取值的范围。

    \d表示数字。

    下面两个表达式等效:

    ^[0-9]*$

    ^\d*$

    都表示若干数字

    下面这个表示多个汉字:

    ^[u4e00-u9fa5]{0,}$

    汉字的码集是从u4e00-u9fa5

    所有英文字母和数字:

    ^[a-zA-Z0-9]*$     

    440位数字和字母:

    ^[a-zA-Z0-9]{4,40}$

    至少一位应为字母:

    ^[a-zA-Z]+$

    w与  ^[a-zA-Z0-9]*$     等效。

    所以我们可以写一个简易邮箱的验证:

    regex = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$";

     

    通过 String test = new string(forTest);

    test.matches(regex)来比较

     

     

    以下代码:
    package com.letben.regex;
    public class Regex {
        public static void main(String[] args) {
             String   regex = "^[0-9]*$";
               String   msg  = "34";
               boolean isok = msg.matches(regex);
               System.out.println(isok);
               regex = "^\d*$";
               System.out.println(msg.matches(regex));
               System.out.println("***********************");
               regex = "^\d{0,3}$";
               System.out.println(msg.matches(regex));
               System.out.println("***************************");
               regex = "^[u4e00-u9fa5]{0,}$";
               msg = "汉字";
               System.out.println(msg.matches(regex));
               System.out.println("********************************");
               //regex = "^[A-Za-z0-9]+$";
               regex = "^[A-Za-z0-9]{4,40}$";
               msg = "1234";
               System.out.println(msg.matches(regex));
               //   全是英文字母
               regex = "^[A-Za-z]+$";
               msg = "ABCcddsd";
               System.out.println(msg.matches(regex));
               regex = "^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$";
               msg = "liguohua1110@163.com";
               System.out.println(msg.matches(regex));
        }
    }

     

    测试:

     

    这个讲的就很浅,比起之前学校里面讲过的。

    要被测试的类:

     

    package Calculate;
    public class Calculate {
        public int add(int a,int b){
            return a+b;
        }
        public int minus(int a,int b){
            return a-b;
        }
    }

    右键当前类,创建一个Junit test case,这个就是测试用例,对于 开发来说我们可以创立与之对应的很多个测试用例,构成测试用例集,一旦测试用例集写完善以后,就可以让不定数量的源代码过来接受检测,这个测试用例集其实野蛮费脑筋的。这个就是 传说中的白盒测试。

    总之,现在还没有那么深入,不过这个 的确是要被写的。现在现有这么一个印象。笔记千万不能丢就是了!换句话说,我不太想背这个地方,随着使用次数的增多,慢慢会熟悉这里面的原委的。爆出来的错误:errors属于语法错误。Failure属于逻辑错误。

     

    package Calculate;
    import static org.junit.Assert.*;
    import org.junit.After;
    import org.junit.AfterClass;
    import org.junit.Before;
    import org.junit.BeforeClass;
    import org.junit.Test;
    public class TestCalculate {
        /*这是一套
        Calculate c ;
        //在每一次方法使用之前调用获得该类的对象
            @Before
            public void getMyClass(){
                c=new Calculate();
            }
            //在每一次方法使用之后释放该类的对象
            @After
            public void dismissMyClass(){
                c=null;
            }
        */
        //这里面放一个全的测试用例,到时候执行就可以了。
        //用以检测不同的结果
        
        static Calculate c;
        //在类创建之前得到这个对象
        @BeforeClass
        public static void getMyClass(){
            c = new Calculate();
        }
        //在类创建之后,释放这个对象。
        @AfterClass
        public static void dismissMyClass(){
            c = null;
        }
        @Test
        public void testAdd(){
            int result  = c.add(4, 5);
            assertEquals(9, result);
        }
        @Test
        public void testMinus(){
            int result = c.minus(4, 3);
            assertEquals(1, result);
        }
    }

     

     

     

  • 相关阅读:
    WPF系列学习之三(路由事件)
    WPF学习系列之二 (依赖项属性)
    WPF学习笔记系列之一 (布局详情)
    常用CDN公共库
    Day2-运算+流程控制+函数
    Day1-shell
    Day10-rsync
    Day2-EMOS
    Day9-Postfix
    Day1-dns Extension
  • 原文地址:https://www.cnblogs.com/letben/p/5185081.html
Copyright © 2020-2023  润新知