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

好看的模板网站建设从山海经取公司名三个字

好看的模板网站建设,从山海经取公司名三个字,wordpress添加主题提示缺少文件,如何制作微信小程序答题一、Junit 是什么#xff1f; Junit 是 Java 中用于单元测试的框架。使用 Junit 能让我们快速高效的完成单元测试。 自动化测试#xff1a;JUnit提供了自动化测试的能力#xff0c;开发人员可以编写一次测试用例#xff0c;然后通过简单的命令或集成到持续集成工具中进行…一、Junit 是什么 Junit 是 Java 中用于单元测试的框架。使用 Junit 能让我们快速高效的完成单元测试。 自动化测试JUnit提供了自动化测试的能力开发人员可以编写一次测试用例然后通过简单的命令或集成到持续集成工具中进行反复运行大大减少了重复性的测试工作量。注解和断言JUnit使用注解对测试方法进行标记使用断言进行结果验证让测试用例编写更为简洁、直观同时减少了手动编写测试代码的出错概率。 传统模式下我们写完代码想要测试这段代码的正确性那么必须新建一个类然后创建一个 main() 方法然后编写测试代码。如果需要测试的代码很多呢那么要么就会建很多main() 方法来测试要么将其全部写在一个 main() 方法里面。这也会大大的增加测试的复杂度降低程序员的测试积极性。而 Junit 能很好的解决这个问题简化单元测试写一点测一点在编写以后的代码中如果发现问题可以较快的追踪到问题的原因减小回归错误的纠错难度。 二、配置 Junit 环境 配置 Junit 只需要在单元测试中导入相关依赖即可我们这里使用的是 Junit5。maven 地址https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api/5.8.2 !-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -- dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion5.8.2/versionscopetest/scope /dependency下面我们写个demo测试一下是否导入成功 import org.junit.jupiter.api.Test; public class JunitTest {Testvoid testDemo() {System.out.println(这是第一个单元测试!);} }1、常用注解 Test 注解用于标记测试方法。JUnit 将会执行所有被 Test 注解标记的方法作为测试用例。 Disabled 注解用于标记测试方法并禁用它这在你暂时不想执行某个测试方法时非常有用。 BeforeAll 注解用于标记在所有测试方法执行之前只需执行一次的方法。且被该注解修饰的方法必须为静态方法。通常用于初始化静态资源。 AfterAll 注解用于标记在所有测试方法执行之后只需执行一次的方法。且被该注解修饰的方法必须为静态方法。通常用于释放静态资源。 BeforeEach 注解用于标记在每个测试方法之前需要执行的方法。通常用于初始化测试环境。 AfterEach 注解用于标记在每个测试方法之后需要执行的方法。通常用于清理测试环境。 public class JunitTest {BeforeAllstatic void setUp() {System.out.println(所有测试方法执行之前执行BeforeAll);}AfterAllstatic void tearDown() {System.out.println(所有测试方法执行结束后执行AfterAll);}BeforeEachvoid setUpEach() {System.out.println(在每个测试方法执行前执行BeforeEach);}AfterEachvoid tearDownEach() {System.out.println(在每个测试方法执行之后执行AfterEach);}Testvoid testDemo1() {System.out.println(testDemo1());}Testvoid testDemo2() {System.out.println(testDemo2());}Disabledvoid testDemo3() {System.out.println(testDemo3());} }2、断言 在 JUnit 中断言是用于验证测试结果是否符合预期的工具以下是一些常用的 JUnit 断言方法 assertEquals(expected, actual)验证两个值是否相等。适用于比较基本数据类型或对象。assertNotEquals(unexpected, actual)验证两个值是否不相等。assertTrue(condition)验证条件是否为 true。assertFalse(condition)验证条件是否为 false。assertNull(object)验证对象是否为 null。assertNotNull(object)验证对象是否不为 null。assertArrayEquals(expectedArray, resultArray)验证两个数组是否相等。assertSame(expected, actual)验证两个引用是否指向同一个对象。assertNotSame(unexpected, actual)验证两个引用是否指向不同的对象。assertThrows(expectedException, executable)验证方法是否抛出了预期的异常。 下面写一个简单的使用示例 public class JunitTest {Testvoid testDemo1() {Assertions.assertEquals(aaa,aaa);Assertions.assertTrue(true);}Testvoid testDemo2() {Assertions.assertTrue(false);} }3、参数化 参数化用例可以帮我们更好的管理测试用例将测试数据与测试用例分离实现测试用例的重用。JUnit 5 提供了 ParameterizedTest 注解来支持参数化测试使用前需要先导入相关依赖。maven仓库地址https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params/5.8.2 ParameterizedTest 需要搭配数据源用于为参数化测试提供测试数据以下是一些常用的数据源及其用法 1ValueSource 注解用于提供基本类型的单一值作为参数例如整型、字符串、布尔等。 ParameterizedTestValueSource(ints {1,2,3})void test(int num) {System.out.println(num);}2EnumSource 注解用于提供枚举类型作为参数可以指定包含的枚举类型。 // 定义一个枚举enum Season {a,b,c}ParameterizedTestEnumSource(Season.class)void test2(Season season) {System.out.println(season);}3CsvSource 注解允许你直接内联定义CSV格式的数据作为参数传递给测试方法。 ParameterizedTestCsvSource({apple, 1,banana, 2,orange, 3})void testWithCsvSource(String fruit, int count) {// 测试代码System.out.println(fruit fruit, count count);}4CsvFileSource 注解允许你从外部CSV文件中读取数据作为参数传递给测试方法。 ParameterizedTestCsvFileSource(resources test-data.csv, numLinesToSkip 1)void testWithCsvFileSource(String name, String gender ,int age) {// 测试代码System.out.println(name name, gender gender, age age);}注通常情况下CSV文件的第一行会包含列标题或者字段名描述了每一列数据的含义。当使用CsvFileSource进行参数化测试时使用 numLinesToSkip 1 跳过第一行可以避免将列标题作为测试数据传递给测试方法。 5MethodSource 注解用于指定一个方法作为数据源该方法必须返回一个Stream、Iterable、Iterator或者数组。 public static StreamArguments generateData() {return Stream.of(Arguments.arguments(张三,18,男),Arguments.arguments(张三,19,女),Arguments.arguments(李四,20,女));}ParameterizedTestMethodSource(generateData)void testWithSimpleMethodSource(String name,int age,String gender) {// 测试代码System.out.println(name name, age age, gender gender);}4、测试用例的执行顺序 在 JUnit 中测试方法的执行顺序本身是不保证的并不像我们想的一样是从上至下依次执行的为例反证这一点我们可以写个Demo演示一下 但是在实际测试中我们需要完成连贯的多个步骤的测试是需要规定测试用例执行的顺序的。JUnit 5 中的 TestMethodOrder 注解可用于指定测试方法的执行顺序。 TestMethodOrder 注解可以与实现了 MethodOrderer 接口的自定义顺序器一起使用以便根据特定的排序策略执行测试方法。JUnit 5提供的主要测试方法排序器 MethodNameOrderer按照方法名的字典顺序执行测试方法。Random随机执行测试方法。OrderAnnotation根据Order注解中指定的顺序执行测试方法。 MethodNameOrderer 测试 Random测试 OrderAnnotation 测试 5、测试套件 当我们一个类中有多个测试用例时我们不可能挨个去运行那样将会很耗费时间这时我们就需要 测试套件 来指定类或者指定包名来运行类下或者包下的所有测试用例。在Junit中可以使用Suite标记测试套件使用时需要导入依赖。maven 地址https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite/1.9.1 另外使用 suite 需要引入 引擎engine 依赖。maven 地址https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine/5.8.2 1指定 Class 执行测试用例 使用注解SelectClasses({指定类, 指定类, 指定类}) 2指定包执行测试用例 使用注解SelectPackages(value {包1, 包2,...}) PS如果使用包名来指定运行的范围那么该包下的所有的测试类的命名需要以 Test 或者 Tests结尾(T必须大写)
文章转载自:
http://www.morning.gxtfk.cn.gov.cn.gxtfk.cn
http://www.morning.bktly.cn.gov.cn.bktly.cn
http://www.morning.pwmm.cn.gov.cn.pwmm.cn
http://www.morning.lmxzw.cn.gov.cn.lmxzw.cn
http://www.morning.kzslk.cn.gov.cn.kzslk.cn
http://www.morning.redhoma.com.gov.cn.redhoma.com
http://www.morning.nfbxgtj.com.gov.cn.nfbxgtj.com
http://www.morning.ampingdu.com.gov.cn.ampingdu.com
http://www.morning.ltzkk.cn.gov.cn.ltzkk.cn
http://www.morning.zrqs.cn.gov.cn.zrqs.cn
http://www.morning.fdlyh.cn.gov.cn.fdlyh.cn
http://www.morning.27asw.cn.gov.cn.27asw.cn
http://www.morning.kdxzy.cn.gov.cn.kdxzy.cn
http://www.morning.hwnnm.cn.gov.cn.hwnnm.cn
http://www.morning.kpcxj.cn.gov.cn.kpcxj.cn
http://www.morning.dqgbx.cn.gov.cn.dqgbx.cn
http://www.morning.jwxmn.cn.gov.cn.jwxmn.cn
http://www.morning.rbzd.cn.gov.cn.rbzd.cn
http://www.morning.lzbut.cn.gov.cn.lzbut.cn
http://www.morning.rjjjk.cn.gov.cn.rjjjk.cn
http://www.morning.pghfy.cn.gov.cn.pghfy.cn
http://www.morning.kqxng.cn.gov.cn.kqxng.cn
http://www.morning.pamdeer.com.gov.cn.pamdeer.com
http://www.morning.kstgt.cn.gov.cn.kstgt.cn
http://www.morning.krfpj.cn.gov.cn.krfpj.cn
http://www.morning.zfhzx.cn.gov.cn.zfhzx.cn
http://www.morning.sglcg.cn.gov.cn.sglcg.cn
http://www.morning.bktzr.cn.gov.cn.bktzr.cn
http://www.morning.rykmz.cn.gov.cn.rykmz.cn
http://www.morning.bflwj.cn.gov.cn.bflwj.cn
http://www.morning.muniubangcaishui.cn.gov.cn.muniubangcaishui.cn
http://www.morning.fnrkh.cn.gov.cn.fnrkh.cn
http://www.morning.ey3h2d.cn.gov.cn.ey3h2d.cn
http://www.morning.khxyx.cn.gov.cn.khxyx.cn
http://www.morning.cxnyg.cn.gov.cn.cxnyg.cn
http://www.morning.mcqhb.cn.gov.cn.mcqhb.cn
http://www.morning.lmfmd.cn.gov.cn.lmfmd.cn
http://www.morning.zbgqt.cn.gov.cn.zbgqt.cn
http://www.morning.xjqrn.cn.gov.cn.xjqrn.cn
http://www.morning.rdmn.cn.gov.cn.rdmn.cn
http://www.morning.ptmsk.cn.gov.cn.ptmsk.cn
http://www.morning.hkchp.cn.gov.cn.hkchp.cn
http://www.morning.zxfr.cn.gov.cn.zxfr.cn
http://www.morning.mbfkt.cn.gov.cn.mbfkt.cn
http://www.morning.nwljj.cn.gov.cn.nwljj.cn
http://www.morning.dhwyl.cn.gov.cn.dhwyl.cn
http://www.morning.mswkd.cn.gov.cn.mswkd.cn
http://www.morning.lwmzp.cn.gov.cn.lwmzp.cn
http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn
http://www.morning.tstwx.cn.gov.cn.tstwx.cn
http://www.morning.bsqbg.cn.gov.cn.bsqbg.cn
http://www.morning.cdlewan.com.gov.cn.cdlewan.com
http://www.morning.gkdqt.cn.gov.cn.gkdqt.cn
http://www.morning.cnwpb.cn.gov.cn.cnwpb.cn
http://www.morning.tyjp.cn.gov.cn.tyjp.cn
http://www.morning.pxlpt.cn.gov.cn.pxlpt.cn
http://www.morning.ssqrd.cn.gov.cn.ssqrd.cn
http://www.morning.fhwfk.cn.gov.cn.fhwfk.cn
http://www.morning.cnbdn.cn.gov.cn.cnbdn.cn
http://www.morning.dnbkz.cn.gov.cn.dnbkz.cn
http://www.morning.ffmx.cn.gov.cn.ffmx.cn
http://www.morning.jllnh.cn.gov.cn.jllnh.cn
http://www.morning.rkbly.cn.gov.cn.rkbly.cn
http://www.morning.zfqr.cn.gov.cn.zfqr.cn
http://www.morning.tstwx.cn.gov.cn.tstwx.cn
http://www.morning.zhnpj.cn.gov.cn.zhnpj.cn
http://www.morning.hxmqb.cn.gov.cn.hxmqb.cn
http://www.morning.ltqzq.cn.gov.cn.ltqzq.cn
http://www.morning.rrcrs.cn.gov.cn.rrcrs.cn
http://www.morning.yfpnl.cn.gov.cn.yfpnl.cn
http://www.morning.rrxmm.cn.gov.cn.rrxmm.cn
http://www.morning.rfyff.cn.gov.cn.rfyff.cn
http://www.morning.qfcnp.cn.gov.cn.qfcnp.cn
http://www.morning.wmglg.cn.gov.cn.wmglg.cn
http://www.morning.tdcql.cn.gov.cn.tdcql.cn
http://www.morning.qbfwb.cn.gov.cn.qbfwb.cn
http://www.morning.xirfr.cn.gov.cn.xirfr.cn
http://www.morning.lclpj.cn.gov.cn.lclpj.cn
http://www.morning.jkzq.cn.gov.cn.jkzq.cn
http://www.morning.gyfwy.cn.gov.cn.gyfwy.cn
http://www.tj-hxxt.cn/news/246108.html

相关文章:

  • 注册网站域名用什么好处绍兴高兴区建设网站
  • 网站建设资料总结阳泉住房与城乡建设厅网站
  • 网站收录后怎么做排名网页传奇打金
  • 苏州电子商务网站开发公司wordpress密码可见不跳转
  • 网站ip段屏蔽培训心得体会800字
  • 网站制作公司北京华网建设银行的英语网站
  • 网站地图插件公关公司服务的特点
  • 北京网站建设软件自动生成设计图
  • 网站外链建设培训精准营销方式有哪些
  • vs做网站的书籍WordPress大前端DUX5.1
  • 使用cnnic证书的网站淡水做网站
  • 昆明网站建设系统浏览网站内下载文件
  • wordpress 发帖快速seo排名优化
  • 各位大哥给个网站做旅游宣传网站的流程图
  • 如何设置中国建设银行网站网页制作公司兼职
  • 地方网站的建设网站建设 思维导图
  • 网站大全全部免费淮南网云小镇户型图
  • 网站服务器网络媒体库wordpress
  • 正规的合肥网站建设价格广东网站建设968
  • 可以做公司宣传的网站有哪些淘宝推广网站怎么做
  • 优秀企业网站的优缺点网站开发jquery
  • 网站做超链接的方式有哪些网站建设前期准备
  • 自己做的网页怎么上传网站吗学校 网站 建设 目的
  • 在手机上怎么制作网站网站建设网站需要什么软件
  • 一元云购网站开发抖音代运营方案ppt
  • 京东在线购物网站wordpress主题 评论
  • 网站设计理念西安航投集团有限公司
  • 北京建设工程联合验收网站做lol数据的网站
  • 广西住房城乡建设厅官网站做网站优化就是发文章吗
  • 东莞网站设计公司有哪些上海申请注册公司