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

广元市住房与城乡建设厅网站内江 网站建设

广元市住房与城乡建设厅网站,内江 网站建设,做淘宝客网站难吗,做外贸需要自己建网站吗1.junit 1.1 junit是什么 JUnit是一个Java语言的单元测试框架。 虽然我们已经学习了selenium测试框架#xff0c;但是有的时候测试用例很多#xff0c;我们需要一个测试工具来管理这些测试用例#xff0c;Junit就是一个很好的管理工具#xff0c;简单来说Junit是一个针对…1.junit 1.1 junit是什么 JUnit是一个Java语言的单元测试框架。 虽然我们已经学习了selenium测试框架但是有的时候测试用例很多我们需要一个测试工具来管理这些测试用例Junit就是一个很好的管理工具简单来说Junit是一个针对Java单元测试的框架。Junit由Junit Platform _ Junit Jupiter junit Vintage3部分组成。 1.2 Junit和Selenium的关系 Junit和Selenium是完全不同的两个东西 在一个灯串上如果说selenium编写的测试用例是一个小灯泡那么junit就是把它们串起来的线。junit是用来管理selenium的测试用例的。 2.junit技术 2.0 前置工作 在pom.xml文件中添加依赖 引入selenium: dependencygroupIdorg.seleniumhq.selenium/groupIdartifactIdselenium-java/artifactIdversion4.7.2/version/dependency!-- https://mvnrepository.com/artifact/commons-io/commons-io --dependencygroupIdcommons-io/groupIdartifactIdcommons-io/artifactIdversion2.11.0/version/dependency参数化 dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion5.9.2/version/dependency dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-params/artifactIdversion5.9.2/version/dependency测试套件 !-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite --dependencygroupIdorg.junit.platform/groupIdartifactIdjunit-platform-suite/artifactIdversion1.9.1/version/dependency!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine --dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-engine/artifactIdversion5.9.1/versionscopetest/scope/dependency2.1 junit常用注解 Test Test表示当前的方法是一个测试用例 使用 Test void 方法名(){} 举例 //表示当前的方法是一个测试用例Testvoid Test01(){// 创建了一个options对象用来给请求设置一些参数ChromeOptions options new ChromeOptions();// 允许所有的请求options.addArguments(--remote-allow-origins*);//设置驱动路径System.setProperty(webdriver.chrome.driver,C:\\Program Files\\Java\\jdk1.8.0_192\\bin\\chromedriver.exe);// 创建了一个驱动WebDriver webDriver new ChromeDriver(options);//打开百度webDriver.get(https://www.baidu.com/);}BeforeAll 和 AfterAll 这两个注解在整个类测试的时候会执行一次。 BeforeAll表示在当前类所有测试用例执行之前运行 AfterAll表示在当前类所有测试用例执行之后运行 并且这两个方法都有static修饰都只执行一次使用 BeforeAll static void 方法名(){} 举例 //当前类里面所有的测试用例执行之前执行这个方法BeforeAllstatic void SetUp(){System.out.println(开始执行BeforeAll修饰的方法);}使用 AfterAll static void 方法名(){} 举例 //当前类里面所有的测试用例执行之后执行这个方法AfterAllstatic void TearDown(){System.out.println(开始执行AfterAll对应的方法);}运行结果 BeforeEach 和 AfterEach 这两个注解会在每一个测试用例执行的时候都执行一次。 BeforeEach表示在每个测试方法执行前运行AfterEach表示在每个测试方法执行后运行 举例 BeforeEachvoid BeforeTest(){System.out.println(这是一个BeforeEach注解);}AfterEachvoid AfterTest(){System.out.println(这是一个AfterEach注解);}结果 Disabled 作用忽略当前的测试用例 举例 //忽略当前的测试用例Disabled//表示当前的方法是一个测试用例Testvoid Test01(){// 创建了一个options对象用来给请求设置一些参数ChromeOptions options new ChromeOptions();// 允许所有的请求options.addArguments(--remote-allow-origins*);//设置驱动路径System.setProperty(webdriver.chrome.driver,C:\\Program Files\\Java\\jdk1.8.0_192\\bin\\chromedriver.exe);// 创建了一个驱动WebDriver webDriver new ChromeDriver(options);//打开百度webDriver.get(https://www.baidu.com/);}结果并没有执行这个测试用例 2.2 junit测试用例执行顺序 有人觉得junit的测试顺序是从上到下的是这样吗 先来看一个示例 Testvoid Test06(){System.out.println(这是测试用例5);}Testvoid Test05(){System.out.println(这是测试用例4);}Testvoid Test04(){System.out.println(这是测试用例3);}Testvoid Test02(){System.out.println(这是测试用例1);}Testvoid Test03(){System.out.println(这是测试用例2);}结果 以上结果表明了它不是按照从上到下执行的测试用例。 指定顺序执行 使用TestMethodOrder(MethodOrderer.OrderAnnotation.class) Order(数字)注解顺序执行测试用例。 举例 //按照指定顺序执行测试用例 TestMethodOrder(MethodOrderer.OrderAnnotation.class) public class JunitTest {Order(1)Testvoid Test06(){System.out.println(这是测试用例5);}Order(2)Testvoid Test05(){System.out.println(这是测试用例4);}Order(3)Testvoid Test04(){System.out.println(这是测试用例3);}Order(4)Testvoid Test02(){System.out.println(这是测试用例1);}Order(5)Testvoid Test03(){System.out.println(这是测试用例2);} }结果 是按照order里面的顺序执行的。 随机执行 使用TestMethodOrder(MethodOrderer.Random.class)随机执行测试用例。 举例 //按照随机顺序执行测试用例 TestMethodOrder(MethodOrderer.Random.class) public class JunitTest {Order(1)Testvoid Test06(){System.out.println(这是测试用例5);}Order(2)Testvoid Test05(){System.out.println(这是测试用例4);}Order(3)Testvoid Test04(){System.out.println(这是测试用例3);}Order(4)Testvoid Test02(){System.out.println(这是测试用例1);}Order(5)Testvoid Test03(){System.out.println(这是测试用例2);} }2.3 参数化测试 测试方法一般需要传参数。 单参数 使用 ParameterizedTest ValueSource() 配合传递单参数 ParameterizedTest 注册参数 注意这两个注解不能和Test一起使用并且只能传一种类型的参数 示例 ParameterizedTest //注册ValueSource(strings {1,2,3})void Test07(String str){System.out.println(str);}结果 多参数 上面只可以传入一种类型的参数所以如果我们需要传入多种类型的参数就可以使用csv 。 CSV ①直接传参数使用ParameterizedTest CsvSource()配合 举例 ParameterizedTestCsvSource({1,2,3,4})void Test08(String str,int num){System.out.println(str num);}结果 ②传递文件使用ParameterizedTest CsvFileSource(resources 文件名.csv)配合 注意文件必须是.csv类型 示例 ParameterizedTestCsvFileSource(resources test01.csv)void Test09(int id,String name){System.out.println(idid,namename);}test01.csv文件内容 1,温温 2,苏苏 3,怜怜结果 方法传参 使用ParameterizedTest MethodSource(方法名) 传入一个方法 示例: ParameterizedTest //注册参数MethodSource(Generator) //注册的参数是什么void Test10(String num,String name){System.out.println(num name);}Generator方法代码 public static StreamArguments Generator() {return Stream.of(Arguments.arguments(1,温温,2,苏苏));}结果 2.4 断言 在软件测试中断言Assertion是一种用于检查程序或系统在执行某些操作或运行某些代码后是否符合预期行为的技术手段。在测试中断言通常用于验证代码的正确性确保代码在满足特定条件时会产生预期的结果。 示例 ParameterizedTestValueSource(ints {10})void Test11(int num){//断言相等Assertions.assertEquals(num,10);//断言不相等Assertions.assertNotEquals(num,11);}ParameterizedTestValueSource(strings {1})void Test11(int num){//断言为空Assertions.assertNull(num);//断言不为空Assertions.assertNotNull(num);}2.5 测试套件 测试套件test suite有时也称为验证套件validation suite是许多测试用例的集合测试用例可用来测试一程式是否正确工作测试套件包括许多测试用例一般也会有针对测试用例及其测试目的的详细说明在进行测试时的系统组态资讯以及测试前需进行的步骤。 通过测试套件将服务于同一个测试目的或同一运行环境下的一系列测试用例有机的组合起来。测试套件是按照测试计划所定义的各个阶段的测试目标决定的即先有测试计划后面才有测试套件。 例如此时有三个类的测试用例都需要测试。 通过测试套件全部测试 方法①在括号中写入测试类 Suite SelectClasses({JunitTest.class, JunitTest02.class}) public class RunSuite { }方法②根据指定的包来运行多个测试用例 Suite SelectPackages({org.example.junit01,org.example.junit}) public class RunSuit { }
http://www.w-s-a.com/news/371496/

相关文章:

  • 白云企业网站建设seo排名点击软件
  • wordpress跨站脚本攻击漏洞国外注册的域名国内能用吗
  • 西部数码网站管理助手2工信部资质查询网站
  • 公司网站哪个建的好吉林网站制作
  • 视频网站怎么引流wordpress私人玩物
  • 我的家乡湛江网站设计新钥匙网站建设
  • 辽宁网站推广爱前端wordpress5.0.3主题
  • python怎么做网站贵阳网站制作
  • 深圳网站的优化seo网络推广有哪些
  • 网站建设实习报告范文荆州市城市建设档案馆网站
  • 网站开发信息平台项目总结企业网站如何推广
  • 网站备案名称规定手机免费h5制作软件
  • 接网站建设单子的网站网页设计尺寸多大
  • 订制型网站费用做网站的问题
  • 淮阳住房和城乡建设网站桂林新闻桂林人论坛
  • 公司网站建设价格标准老版本网站开发工具
  • 门户网站开发费怎做账做网站交互demo工具
  • 中山最好的网站建设黄村网站建设价格
  • 企业网站首页应如何布局互联网营销师证书报名入口
  • 绍兴做网站哪家好篮球网站设计
  • 鹤岗市城乡建设局网站西域电商平台官网
  • 外贸网网站建设蓝色管理系统网站模版
  • 网站服务器关闭阿里巴巴logo
  • 青岛 网站制作公司乐从网站制作
  • wordpress 微网站模板怎么用wordpress 文档下载
  • ppt网站建设的目的合肥做网站找哪家好
  • wordpress站点路径redis缓存wordpress
  • 专门设计网站的公司叫什么百度 门户网站
  • 网站建设丶金手指专业旅游网站系统哪个好
  • 苏州工业园区两学一做网站成都企业排名