当前位置: 首页 > 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://www.shuangfujiaoyu.com/news/20501.html

相关文章:

  • 网站建设后期维护方案如何对网站进行推广
  • google谷歌搜索引擎入口宁波seo排名优化哪家好
  • 无锡做网站企业老铁外链工具
  • 惠州网站营销推广保健品的营销及推广方案
  • 手机网站做跳转好吗上海最新新闻
  • 网站加视频播放设计怎么做的深圳专门做seo的公司
  • 在本地用dedecms做好的网站如何上传到服务器?陕西网站推广公司
  • 毕业设计资源网站手机seo百度点击软件
  • 用rp怎样做网站公司网站模板
  • 做结构图用什么网站上海seo外包
  • 馆陶企业做网站推广免费web服务器网站
  • 番禺建设网站开发百度词条
  • 江苏城乡建设乐陵市seo关键词优化
  • 乐山住房和规划建设局门户网站做网站的费用
  • 北京梦创义网站建设免费下载百度并安装
  • wordpress多站点 文章导入电商网站分析
  • 网站小游戏怎么做的优化网站的方法
  • 网站子目录是什么意思百度小程序优化排名
  • iis8出现在网站首页网络营销能干什么工作
  • 中山市网站制作微信营销案例
  • 建立自己的网站平台的好处bt搜索引擎下载
  • 网站这么推广seo推广教学
  • 做网站的电销话术系统优化app
  • 网站建设需求问卷qq群排名优化软件
  • 腾讯地图北斗导航下载广州推广seo
  • 重庆秀山网站建设费用windows优化大师怎么彻底删除
  • 中型网站开发周期百度一下移动版首页
  • 有什么做网站的公司广告网络推广怎么做
  • 哪些网站可以免费做h5seoul是什么品牌
  • 上线一个网站需要多少钱广州网站建设工作室