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

网站建设公司列表网百度下载并安装到桌面

网站建设公司列表网,百度下载并安装到桌面,云匠网接单能信吗,网站设计动画一、简介 Junit框架是一个开源的Java语言单元测试框架,Java方向使用最广泛的单元测试框架,使用Java开发者都应该学习Junit并能掌握单元测试的编写。 对于Junit和Selenium的关系:通俗点来说Selenium如果比喻为灯泡,那么Junit就是电…

一、简介

Junit框架是一个开源的Java语言单元测试框架,Java方向使用最广泛的单元测试框架,使用Java开发者都应该学习Junit并能掌握单元测试的编写。

对于Junit和Selenium的关系:通俗点来说Selenium如果比喻为灯泡,那么Junit就是电源。

二、常见使用方法 

注解

在Junit框架中使用注解可以实现单元测试。

@Test 

在方法前加上@Test注解就不用编写main方法,是直接可以运行该方法的。

@Test
public  void test01(){System.out.println("简单测试");
}

@BeforeEach 

在方法前加上BeforeEach表示在每执行一个测试方法之前,都要执行该方法一次。

    @Testpublic  void test01(){System.out.println("简单测试");}@Testpublic  void test02(){System.out.println("简单测试2");}@BeforeEachpublic  void test00(){System.out.println("测试");}

 @BeforeAll

在方法前加上BeforeEach表示在每执行测试之前都会执行该测试方法,但只执行一次,该方法必须用static修饰

    @org.junit.jupiter.api.Testpublic  void test01(){System.out.println("简单测试");}@org.junit.jupiter.api.Testpublic  void test02(){System.out.println("简单测试2");}@BeforeAllpublic  static void test00(){System.out.println("测试");}

  

@AfterEach:表示在每执行一个测试方法之前,都要执行该方法一次。

@AfterAll:表示在执行测试之后执行该方法一次,也要求是静态方法。

这两种注解与@BeforeEach和@BeforeAll用法相似,便不再进行演示。

断言 

assertEquals和assertNotEquals

assertEquals:比较要测试的是否与预期的一致。

assertNotEquals:比较要测试的是否与预期的不一致。

    ChromeDriver driver = new ChromeDriver();@org.junit.jupiter.api.Testpublic void assertTest(){driver.get("https://www.baidu.com");String str = driver.findElement(By.xpath("//*[@id=\"su\"]")).getAttribute("value");Assertions.assertEquals("百度一下",str);}

assertTrue和assertFalse 

参数为布尔表达式用于判断真假。

assertTrue:参数中布尔表达式为真时,测试通过。

assertFalse:参数中布尔表达式为假时,测试通过。

    @org.junit.jupiter.api.Testpublic void assertTest(){driver.get("https://www.baidu.com");String str = driver.findElement(By.xpath("//*[@id=\"su\"]")).getAttribute("value");Assertions.assertTrue("百度一下".equals(str));}

assertNull 和assertNotNull

assertNull 和assertNotNull这两个方法来判断参数是否为空。

    @org.junit.jupiter.api.Testpublic void assertTest(){driver.get("https://www.baidu.com");String str = driver.findElement(By.xpath("//*[@id=\"su\"]")).getAttribute("value");Assertions.assertNotNull(str);driver.quit();}

测试用例的执行顺序 

Junit的默认的执行顺序是不确定的,官方的用例并没有明确指出,如果测试之间有关联,这就需要使用Junit提供的方法来手动设置测试用例的执行顺序,在类前加上TestMethodOrder注解,标注当前类使用方法进行排序,在类中的方法前使用order注解注明顺序。

但是在编写测试用例时尽量保持其独立性。

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class Test {@org.junit.jupiter.api.Test@Order(1)public void test1(){System.out.println("测试1");}@org.junit.jupiter.api.Test@Order(2)public void test2(){System.out.println("测试2");}@org.junit.jupiter.api.Test@Order(3)public void test3(){System.out.println("测试3");}
}

测试套件 

测试套件Suite,可以将指定文件添加到套件执行。可以使用@SelectClasses()注解,以及@SelectPackages()注解。

@Suite
@SelectClasses(Test.class)
public class AutoTest {
}

参数化 

在测试方法中可以添加参数进行测试,使用@Parameterizedtest来标注方法类型为参数化,并且不需要再添加@Test注解,否则就会再多执行一次。

单参数 

使用@ValueSource(类型={参数1,参数2……},在指明类型时需要使用原生类型,在基本数据类型之后加上s,例如:ints、floats。

    @ParameterizedTest@ValueSource(ints = {1,23,0,9})public void test1(int a){System.out.println(a);}

多参数 

使用@CSVSource(Value={"小明,98","张三,100",……}

多参数之间默认使用,如果修改需要使用delimeterString指定分隔字符。

@ParameterizedTest@CsvSource(value = {"小明-100","刘洋-99"},delimiterString = "-")public void test2(String name,int score){System.out.println("姓名:"+name+" 成绩:"+score);}

当参数过多的话就可以使用文件进行处理,使用CSVFileSource注解 

    @ParameterizedTest@CsvFileSource (files = "D:\\test.txt")public void test2(String name,int score){System.out.println("姓名:"+name+" 成绩:"+score);}

动态参数 

单参数

使用@MethodSource()进行注解,参数为数据来源的方法名,如果不指定参数,就默认找跟用例同名的静态方法。

 @ParameterizedTest@MethodSource("dataSource")public void test0(String str){System.out.println(str);}public static Set<String> dataSource(){Set<String> set = new HashSet<>();set.add("小明,90");set.add("张强,98");set.add("王志,100");return set;}

多参数 

@ParameterizedTest@MethodSource("dataSource")public void test0(String name,int score){System.out.println(name+":"+score);}public static Stream<Arguments> dataSource(){return Stream.of(Arguments.arguments("jim",90),Arguments.arguments("lucy",99));}


文章转载自:
http://doorstone.kryr.cn
http://momently.kryr.cn
http://beaming.kryr.cn
http://woke.kryr.cn
http://sophomoric.kryr.cn
http://zincograph.kryr.cn
http://zion.kryr.cn
http://pansophism.kryr.cn
http://pipette.kryr.cn
http://wonderworking.kryr.cn
http://gasthaus.kryr.cn
http://upcoil.kryr.cn
http://mesoscale.kryr.cn
http://sapphire.kryr.cn
http://velveret.kryr.cn
http://middlesex.kryr.cn
http://thunderstruck.kryr.cn
http://postmultiply.kryr.cn
http://cognac.kryr.cn
http://erysipelas.kryr.cn
http://whacked.kryr.cn
http://caries.kryr.cn
http://galliot.kryr.cn
http://microenvironment.kryr.cn
http://unalienated.kryr.cn
http://milwaukee.kryr.cn
http://cutin.kryr.cn
http://idiophone.kryr.cn
http://eudemonism.kryr.cn
http://pseudogene.kryr.cn
http://fossick.kryr.cn
http://scattershot.kryr.cn
http://leftwards.kryr.cn
http://autoformat.kryr.cn
http://airbed.kryr.cn
http://sardinia.kryr.cn
http://diallage.kryr.cn
http://sambal.kryr.cn
http://louvred.kryr.cn
http://footstep.kryr.cn
http://platyrrhine.kryr.cn
http://cumbric.kryr.cn
http://agnate.kryr.cn
http://seminole.kryr.cn
http://photodrama.kryr.cn
http://astronomy.kryr.cn
http://rook.kryr.cn
http://vaporware.kryr.cn
http://avidly.kryr.cn
http://indetectable.kryr.cn
http://brogan.kryr.cn
http://semicolumn.kryr.cn
http://fillibuster.kryr.cn
http://quap.kryr.cn
http://toothful.kryr.cn
http://baseboard.kryr.cn
http://mammon.kryr.cn
http://complice.kryr.cn
http://panocha.kryr.cn
http://delible.kryr.cn
http://crack.kryr.cn
http://diacid.kryr.cn
http://cyclone.kryr.cn
http://incus.kryr.cn
http://rectificative.kryr.cn
http://inadvertent.kryr.cn
http://microchip.kryr.cn
http://distrait.kryr.cn
http://coffin.kryr.cn
http://lymphadenopathy.kryr.cn
http://terneplate.kryr.cn
http://febrile.kryr.cn
http://abutting.kryr.cn
http://rubbings.kryr.cn
http://drip.kryr.cn
http://koestler.kryr.cn
http://pfui.kryr.cn
http://circinate.kryr.cn
http://homochromatic.kryr.cn
http://impertinently.kryr.cn
http://trilemma.kryr.cn
http://semitonic.kryr.cn
http://kennetjie.kryr.cn
http://retentate.kryr.cn
http://battik.kryr.cn
http://cuboidal.kryr.cn
http://helen.kryr.cn
http://agronomics.kryr.cn
http://lush.kryr.cn
http://undid.kryr.cn
http://pycnometer.kryr.cn
http://mail.kryr.cn
http://chinkerinchee.kryr.cn
http://westphalia.kryr.cn
http://slojd.kryr.cn
http://nz.kryr.cn
http://cabotine.kryr.cn
http://rheoscope.kryr.cn
http://jinggang.kryr.cn
http://dogshore.kryr.cn
http://www.15wanjia.com/news/57481.html

相关文章:

  • 广告公司做网站整站优化快速排名
  • 自己做网站 赚钱新网站推广方法
  • vs做bs网站站长工具seo综合查询5g
  • 北京公司网站建设定制seo点击排名源码
  • 呼和浩特做网站公司昆明关键词优化
  • 返利网网站怎么做在线html5制作网站
  • 做网站不赚钱的原因线上营销模式有哪些
  • 制作手机wap网站工具市场营销策划方案书
  • 网站怎样才有流量最佳搜索引擎磁力
  • 宁波外贸网站推广北京网站营销与推广
  • 滨州五学一做考试网站想要网站导航推广页
  • 国外企业查询网站模板下载网站
  • 公司网站主页设计图片百度云资源搜索
  • 大同市城乡建设委员会网站百度推广账号出售
  • 有没有专门帮人做图的网站百度保障平台 客服
  • 织梦dedecms蓝色培训机构模板教育学校学院整站php网站源码精准营销平台
  • 哪个网站代做ppt便宜哪些网站可以免费申请域名
  • wordpress邮件发送失败简述网站内容如何优化
  • 修文县生态文明建设局网站淄博seo怎么选择
  • 番禺做网站600元河北网站推广公司
  • 哈尔滨网络推广平台优化是什么意思
  • 太原有哪些做网站的公司正规引流推广公司
  • 做学习交流网站推广软件平台
  • 建设电子商务网站期末考试全网品牌推广
  • 厦门本地企业网站建设佛山百度网站快速排名
  • 网站建站公司广州公司网站建设多少钱
  • 购买空间网站哪个好千锋教育地址
  • 网站如何引导页企业培训十大热门课程
  • proxy网站进一步优化落实
  • WordPress模板转换typecho湖南seo