15.junit测试类使用及注解 曾经终败给现在 2023-08-17 16:16 92阅读 0赞 ## 1.junit简介 ## JUnit是一个Java语言的单元测试框架,可以大大缩短你的测试时间和准确度。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 ## 2.实现junitDemo示例 ## **2.1首先创建一个project:** ![1182576-20190821153342311-155942756.png][] **2.2然后输入项目名,点击finish:** ![1182576-20190821153411612-1968317165.png][] **2.3然后在src里创建我们要测试的mathDemo类:** ![1182576-20190821153420968-351044698.png][] **2.4输入mathDemo类名,点击finish:** ![1182576-20190821153440847-485258121.png][] **2.5 matchDemo类定义如下:** package com.my.mathdemo; public class mathDemo { public int add(int a,int b) { return a+b; } public int multiply(int a,int b) { return a*b; } } 接下来我们便来创建junit,来测试mathDemo类的add和multiply方法 **2.6 然后我们创建一个junit测试类** ![1182576-20190821153453140-80582612.png][] **2.7输入junit名,点击finish:** ![1182576-20190821153500610-318690649.png][] **2.8 TestMyMath测试类如下所示:** public class TestMyMath { @Test public void testAdd() { mathDemo math = new mathDemo(); assertEquals(math.add(11, 5), 16); //测试11+5是否等于16 assertEquals(math.add(3, 5), 9); //故意写个错误的加法测试 } @Test public void testMultiply() { mathDemo math = new mathDemo(); assertEquals(math.multiply(10, 5), 50); //测试10*5是否等于50 } } 在上面,我们故意写了一个错误的测试,然后run运行后,如下图所示,可以看到报错log: ![1182576-20190821153513888-904430938.png][] **3.为什么测试方法前面要加@Test?** 这是jdk1.5新增加的注解功能,并且对于junit类而言,每个方法前的注解必须存在,否则会报错,因为编译器不知道这个方法是用来测试哪个用途上. 而@Test表示该方法为测试方法,除了@Test外还有: * @BeforeClass : 该方法表示启动测试类对象测试之前启动的方法, 所以该方法必须是static 修饰的(可以通过类名直接访问).一般用来打开配置文件,初始化资源等 * @AfterClass :该方法表示测试类对象测试完成之后启动的方法, 所以该方法必须是static 修饰的(可以通过类名直接访问).一般用来关闭数据库,结束资源等 * @Before :该方法表示调用每个测试方法前都会被调用一次 * @After :该方法表示调用每个测试方法后都会被调用一次 * @Ignore :已经被忽略的测试方法 ,我们测试的话,会自动过滤掉 **4.而JAVA内置注解有三种(****除此外,****还有其它注解,****后面遇到在详细补充)** * @Deprecated : 表示该方法已被弃用(一般表示该方法不适合当前版本),一般会有最新的方法来替代它 * @Override: 覆盖父类方法 * @Suppvisewarning: 忽略警告,比如我们定义了一个未使用的变量,或者调用一个已经被弃用的方法(通过@Deprecated声明的方法),都会出现警告,通过该注解则可以忽略掉 **@Suppvisewarning常用的参数有:** * @SuppressWarnings("all") : 告诉编译器忽略掉所有警告 * @SuppressWarnings("unused") : 告诉编译器忽略掉未定义了未使用的变量 * @SuppressWarnings("unchecked") : 告诉编译器忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息。 * @SuppressWarnings("serial") : 如果编译器出现这样的警告信息:The serializable class WmailCalendar does notdeclare a static final serialVersionUID field of type long 使用这个注释将警告信息去掉。 * @SuppressWarnings("deprecation") : 如果使用了使用@Deprecated注释的方法,编译器将出现警告信息。 使用这个注释将警告信息去掉。 * @SuppressWarnings("unchecked", "deprecation") : 告诉编译器同时忽略unchecked和deprecation的警告信息。 如下图所示,我们定义一个未使用的int i,则会出现警告: ![1182576-20190821153525554-1601461056.png][] 双击后,可以看到已经忽略警告: ![1182576-20190821153534020-1682279534.png][] 未完待续,下章学习 **[16.XML语法、CDATA、约束(DTD、Schema)讲解][16.XML_CDATA_DTD_Schema]** 转载于:https://www.cnblogs.com/lifexy/p/11389141.html [1182576-20190821153342311-155942756.png]: /images/20230810/a7edae9fa2f64b17a205c1f70bb8aa63.png [1182576-20190821153411612-1968317165.png]: /images/20230810/4872ac82cf3540e08185d8d538c9a31f.png [1182576-20190821153420968-351044698.png]: /images/20230810/2d42e8f735004b7c892ef993cedd7828.png [1182576-20190821153440847-485258121.png]: /images/20230810/13123e79b9ab45229d876a4c55758c16.png [1182576-20190821153453140-80582612.png]: /images/20230810/46e72bb0fe0b48979585f6460dd7b97b.png [1182576-20190821153500610-318690649.png]: /images/20230810/d9a1684ca8cf49eeb9cb3dc3c3047d70.png [1182576-20190821153513888-904430938.png]: /images/20230810/53ca4b5ac5534c4c8e1d1b5ab105813b.png [1182576-20190821153525554-1601461056.png]: /images/20230810/0892d009eb2b4b60a67cdb398e705a68.png [1182576-20190821153534020-1682279534.png]: /images/20230810/5097f0f1b75e4793aca78c39f6f394ed.png [16.XML_CDATA_DTD_Schema]: https://www.cnblogs.com/lifexy/p/11410908.html
还没有评论,来说两句吧...