码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式 和 junit测试

时间:2016-02-08 21:16:54      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

需要知道一些常规的正则表达式语句,然后可以仿照规则写出一下正则表达式语句。然后是关于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);
    }
}

 

 

 

 

 

正则表达式 和 junit测试

标签:

原文地址:http://www.cnblogs.com/letben/p/5185081.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!