正则表达式 和 junit测试
需要知道一些常规的正则表达式语句,然后可以仿照规则写出一下正则表达式语句。然后是关于junit测试.
知道了一个之前看过的文档,然后有功夫就看一下那个文档就可以,或者后面找时间搜索一下。
正则表达式是一个字符串:
由^开头
由$结尾。
[]表示可取值的范围。
下面两个表达式等效:
^[0-9]*$
^\\d*$
都表示若干数字
下面这个表示多个汉字:
^[\u4e00-\u9fa5]{0,}$
汉字的码集是从\u4e00-\u9fa5
所有英文字母和数字:
^[a-zA-Z0-9]*$
4到40位数字和字母:
^[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测试的更多相关文章
- 复利计算器(软件工程)及Junit测试———郭志豪
计算:1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 客户提出: 2.如果按照单利计算 ...
- Junit测试框架 Tips
关于Junit测试框架使用的几点总结: 1.Junit中的测试注解: @Test →每个测试方法前都需要添加该注解,这样才能使你的测试方法交给Junit去执行. @Before →在每个测试方法执行前 ...
- junit测试,使用classpath和file 加载文件的区别
用junit测试发现一个问题,怎么加载配置文件?一直都出现这样的错误 ERROR: org.springframework.test.context.TestContextManager - Caug ...
- Junit测试Controller(MockMVC使用),传输@RequestBody数据解决办法
一.单元测试的目的 简单来说就是在我们增加或者改动一些代码以后对所有逻辑的一个检测,尤其是在我们后期修改后(不论是增加新功能,修改bug),都可以做到重新测试的工作.以减少我们在发布的时候出现更过甚至 ...
- 单元测试实战 - Junit测试
一.对加法函数进行测试 1.实例化被测单元(方法):类名 实例名=new 类名([参数]) 2.调用被测单元,对比预期值和输出值(实际值): 在没有junit测试工具的情况下,我们要进行如下的测试代码 ...
- Android Junit测试框架
对应用进行单元测试: 使用Junit测试框架,是正规Android开发的必用技术.在Junit中可以得到组件,可以模拟发送事件和检测程序处理的正确性. 1.配置指令集和函数库: (1)配置指令集,指定 ...
- 在Eclipse中生成接口的JUnit测试类
在Spring相关应用中,我们经常使用“接口” + “实现类” 的形式,为了方便,使用Eclipse自动生成Junit测试类. 1. 类名-new-Other-java-Junit-Junit Tes ...
- Struts2+Spring+Mybatis+Junit 测试
Struts2+Spring+Mybatis+Junit 测试 博客分类: HtmlUnit Junit Spring 测试 Mybatis package com.action.kioskmoni ...
- Junit测试打印详细的log日志,可以看到sql
Junit测试打印详细的log日志,可以看到sql 在log4j.xml的日志配置文件中,把日志级别从info级别调整到debug级别: <?xml version="1.0" ...
随机推荐
- USACO3.22Stringsobits
DP预处理出来 i位不超过j的个数 然后再进行从小到大找第一个比I大的 然后用I减掉上一个比I小的 剩余的按照之前的方法循环找 知道剩余为0 细节挺繁琐的 对照数据改了又改 最后一组数据还超 了int ...
- zabbix中文配置指南(转)-服务器监控
一.Zabbix简介 1.1 Zabbix简介 Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利.官方网站:htt ...
- hive的安装步骤
在node2里安装一下hive1.2.1,步骤如下: 1.解压hive的安装包 2.改变目录:mv apache-hive-1.2.1-bin /home/install/hive-1.2 3.vi ...
- 2015年10月22日CSS学习笔记
XHTML1.0对HTML4.0的改进 借鉴了XML的写法,语法更加严格. 把页面的内容和样式分离了,废弃了html4中的表示样式的标签和属性.推荐使用css来描述页面的样式. CSS样式的优先级 ! ...
- leetcode 逆转字符串 当年的第一题,今天再写一遍,物是人非
public class Solution { public String reverseWords(String s) { if(s==null||s.length()==0) return &qu ...
- ACM2027
统计元音 Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Ou ...
- post方法
CookieContainer cookie = new CookieContainer(); private string HttpPost(string Url, string postDataS ...
- [五]JFreeChart实践四之直线图
重点: 1.时间序列集合作为dataset,一个时间序列为一条折线 2.时间序列可以是月:年,小时:天 3.准备好时间序列要放入时间序列集合中 4.将时间序列集合作为dataset传入ChartFac ...
- 升级web项目步骤
1.备份数据库(数据库服务器cmd执行,exp pra/pra@ORCL file=c:\name.dmp)2.删除原有表,导入新的备份文件(数据库服务器cmd执行,imp pra/pra@ORCL ...
- 一步一步学android控件(之十六)—— CheckBox
根据使用场景不同,有时候使用系统默认的CheckBox样式就可以了,但是有时候就需要自定义CheckBox的样式.今天主要学习如何自定义CheckBox样式.在CheckBox状态改变时有时需要做一些 ...