当前位置: 首页 > news >正文

比价网站源码整站程序太原seo外包平台

比价网站源码整站程序,太原seo外包平台,图书馆网站开发总结,成都网站设计优秀柚v米科技所谓单元测试,就是针对最小的功能单元,编写测试代码对其进行正确性测试。为了测试更加方便,有一些第三方的公司或者组织提供了很好用的测试框架,给开发者使用。这里介绍一种Junit测试框架。Junit是第三方公司开源出来的&#xff0…

所谓单元测试,就是针对最小的功能单元,编写测试代码对其进行正确性测试。为了测试更加方便,有一些第三方的公司或者组织提供了很好用的测试框架,给开发者使用。这里介绍一种Junit测试框架。Junit是第三方公司开源出来的,用于对代码进行单元测试的工具(IDEA已经集成了junit框架)。相比于在main方法中测试有如下几个优点。
1.可以灵活的编写测试代码,可以针对某个方法执行测试,也支持一键完成对全部方法的自动化测试,且各自独立。
2.不需要程序员去分析测试的结果,会自动生成测试报告出来。

请添加图片描述

接下来,我们就按照上面的步骤,来使用一下.

先准备一个类,假设写了一个StringUtil工具类,代码如下

public class StringUtil{public static void printNumber(String name){//这里为了方便用了静态方法 不是静态的则需要在测试方法里new一个对象测试System.out.println("名字长度:"+name.length());}
}

接下来,写一个测试类,测试StringUtil工具类中的方法能否正常使用。

public class StringUtilTest{//名字这样写 就知道测试什么类@Test//必须添加Test注解 可以alt+回车导入Junit包 建议使用4.0版本 经典版本public void testPrintNumber(){//名字这样写 就知道测试什么方法StringUtil.printNumber("admin");StringUtil.printNumber(null);}
}

写完代码之后,我们会发现测试方法左边,会有一个绿色的三角形按钮。点击这个按钮,就可以运行测试方法。也可以右键在选项里运行,在不同的地方右键可以显示运行不同的测试方法或者运行整个测试类中的方法。甚至,当以后我们的项目里有几百个测试方法几百个测试类,可以右键模块的位置,一键运行模块里所有的测试类里的测试方法,非常强大。

请添加图片描述

运行,测试失败,因为有null出现空指针异常。

请添加图片描述





单元测试断言
所谓断言:意思是程序员可以预测程序的运行结果,检查程序的运行结果是否与预期一致。
能跑通的代码不一定就没有错误,比如看下面的例子。

我们在StringUtil类中新增一个测试方法

 public static int getMaxIndex(String data){//要求返回字符串最大索引if(data == null){return -1;}return data.length();//错误的}

接下来,我们在StringUtilTest类中写一个测试方法

public class StringUtilTest{@Testpublic void testGetMaxIndex(){int index1 = StringUtil.getMaxIndex(null);System.out.println(index1);int index2 = StringUtil.getMaxIndex("admin");System.out.println(index2);//断言机制:预测index2的结果Assert.assertEquals("方法内部有Bug",4,index2);}
}

运行测试方法,结果如下图所示,表示我们预期值与实际值不一致

请添加图片描述





Junit框架的常用注解

刚才我们以及学习了@Test注解,可以用来标记一个方法为测试方法,测试才能启动执行。
除了@Test注解,还有一些其他的注解,我们要知道其他注解标记的方法什么时候执行,以及其他注解在什么场景下可以使用。

请添加图片描述

接下来,我们演示一下其他注解的使用。我们在StringUtilTest测试类中,再新增几个测试方法。代码如下

public class StringUtilTest{@Beforepublic void test1(){System.out.println("--> test1 Before 执行了");}@BeforeClasspublic static void test11(){System.out.println("--> test11 BeforeClass 执行了");}@Afterpublic void test2(){System.out.println("--> test2 After 执行了");}@AfterCalsspublic static void test22(){System.out.println("--> test22 AfterCalss 执行了");}
}

执行上面的测试类,结果如下图所示

请添加图片描述

观察执行结果,特点如下

1.被@BeforeClass标记的方法,执行在所有方法之前
2.被@AfterCalss标记的方法,执行在所有方法之后
3.被@Before标记的方法,执行在每一个@Test方法之前
4.被@After标记的方法,执行在每一个@Test方法之后

我们现在已经知道每一个注解的作用了,那他们有什么用呢?应用场景在哪里?

我们来看一个例子,假设我想在每个测试方法中使用Socket对象,并且用完之后,需要把Socket关闭,就可以在@Before和@After里申请和释放。,如果是公用管道,代码就可以按照下面的结构来设计

public class StringUtilTest{private static Socket socket;@Beforepublic void test1(){System.out.println("--> test1 Before 执行了");}@BeforeClasspublic static void test11(){System.out.println("--> test11 BeforeClass 执行了");//初始化Socket对象socket = new Socket();}@Afterpublic void test2(){System.out.println("--> test2 After 执行了");}@AfterCalsspublic static void test22(){System.out.println("--> test22 AfterCalss 执行了");//关闭Socketsocket.close();}
}

最后,我们再补充一点。前面的注解是基于Junit4版本的,再Junit5版本中对注解作了更新,但是作用是一样的。所以这里就不做演示了

请添加图片描述

http://www.shuangfujiaoyu.com/news/45056.html

相关文章:

  • 南京网站建设哪家专业东莞seo外包公司哪家好
  • 成都网站优化报价最新新闻
  • 运维网站制作国内最大的搜索引擎
  • 谁能给个网址啊百度关键词搜索引擎排名优化
  • 常德软件开发seo推广方法
  • 服装网站建设平台营销推广案例
  • 长春电商网站建设index百度指数
  • 萍乡做网站的seo和sem的关系
  • vr 做的网站新东方烹饪培训学校
  • 合肥企业网站建设公司阜新网站seo
  • 有那些可以自己做壁纸的网站win优化大师官网
  • 建个网站 做ib代理不付费免费网站
  • 公司做网站域名归谁整站seo
  • 网站设计公司青岛免费seo网站
  • 北流市建设局网站网络推广员的日常工作
  • 重庆无障碍网站建设做企业网站哪个平台好
  • 上海建个人网站比较好的公司外贸海外推广
  • 最新国际新闻 大事件优化网哪个牌子好
  • 制作网站公司整站seo怎么做
  • 网站平面设计软文推广的标准类型
  • 重庆网络建站海南百度推广公司电话
  • 常见网站页面布局类型刷神马关键字排名软件
  • 什么网站可以找人做设计sem什么意思
  • 武汉游戏软件开发公司seo专员很难吗
  • 能上传文件的网站seo精灵
  • 哈尔滨最专业的网站建设怎么推广网站
  • 做网站可以用什么语言学营销app哪个更好
  • 建德网页制作公司武汉seo招聘
  • wordpress仿 模板家庭优化大师
  • 文创产品设计网广州seo优化排名公司