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

北京企业做网站报价网站建设官网

北京企业做网站报价,网站建设官网,wordpress七牛,设计好 英文网站您读过数学理论吗#xff1f; 它通常读取如下内容#xff1a; 对于所有a#xff0c;b 0满足以下条件#xff1a;a b a和a b b 通常#xff0c;这些语句更难以理解。 这种陈述有一些有趣之处#xff1a;它适用于相当大#xff08;在这种情况下为无限 它通常读取如下内容 对于所有ab 0满足以下条件a b a和a b b 通常这些语句更难以理解。 这种陈述有一些有趣之处它适用于相当大在这种情况下为无限集合的每个元素或元素组合。 将其与典型测试的陈述进行比较 Testpublic void a_plus_b_is_greater_than_a_and_greater_than_b(){int a 2;int b 3;assertTrue(a b a);assertTrue(a b b);} 这仅是关于我们所讨论的大集合中单个元素的陈述。 不太令人印象深刻。 当然我们可以通过遍历测试或使用参数化测试 来解决此问题 Testpublic void a_plus_b_is_greater_than_a_and_greater_than_b_multiple_values() {ListInteger values Arrays.asList(1, 2, 300, 400000);for (Integer a : values)for (Integer b : values) {assertTrue(a b a);assertTrue(a b b);}} 当然这仍然仅测试了几个值但也变得非常难看。 我们正在使用9行代码来测试数学家在一行中写的内容 这种关系对于任何值ab都应保持的要点在翻译中完全消失了。 但是还是有希望的 JUnit理论 。 让我们看看使用该工具的测试效果 import org.junit.experimental.theories.DataPoints; import org.junit.experimental.theories.Theories; import org.junit.experimental.theories.Theory; import org.junit.runner.RunWith;import static org.junit.Assert.assertTrue;RunWith(Theories.class) public class AdditionWithTheoriesTest {DataPointspublic static int[] positiveIntegers() {return new int[]{1, 10, 1234567};}Theorypublic void a_plus_b_is_greater_than_a_and_greater_than_b(Integer a, Integer b) {assertTrue(a b a);assertTrue(a b b);} } 使用JUnit理论测试分为两个独立的部分提供数据点即用于测试的值的方法以及理论本身。 该理论看起来几乎像一个测试但是它具有不同的注释Theory并且需要参数。 类中的理论将与数据点的每种可能组合一起执行。 这意味着如果我们对测试主题有一个以上的理论则只需声明一次数据点即可。 因此让我们添加以下理论这对于加法而言应该是正确的a b b a因此我们将以下理论添加到我们的类中Theory public void add_is_commutativeInteger aInteger b{assertTruea b b a; } 这就像一种魅力并且可以开始看到它实际上也节省了一些代码因为我们不重复数据点。 但是我们仅使用正整数进行测试而交换属性应适用于所有整数 当然我们的第一个理论仍然只适用于正数 也有一个解决方案 假设 。 假设您可以检查理论的先决条件。 如果对于给定的参数集不正确则该参数集的理论将被跳过。 所以我们的测试现在看起来像这样 RunWith(Theories.class)public class AdditionWithTheoriesTest {DataPointspublic static int[] integers() {return new int[]{-1, -10, -1234567,1, 10, 1234567};}Theorypublic void a_plus_b_is_greater_than_a_and_greater_than_b(Integer a, Integer b) {Assume.assumeTrue(a 0 b 0 );assertTrue(a b a);assertTrue(a b b);}Theorypublic void addition_is_commutative(Integer a, Integer b) {assertTrue(a b b a);} } 这使测试表现力很好。 将测试数据与测试/理论实现分开除了简洁之外还可以带来另一个积极的效果您可能会开始考虑与实际测试内容无关的测试数据。 让我们做到这一点。 如果要测试采用整数参数的方法那么哪些整数可能会引起问题 这是我的建议 DataPointspublic static int[] integers() {return new int[]{0, -1, -10, -1234567,1, 10, 1234567, Integer.MAX_VALUE, Integer.MIN_VALUE};} 在我们的示例中哪个当然会导致测试失败。 如果将正整数添加到Integer.MAX_VALUE则会溢出 因此我们刚刚得知我们目前的理论是错误的 是的我知道这很明显但是请看一下当前项目中的测试。 使用整数的所有测试是否都以MIN_VALUEMAX_VALUE0正值和负值测试 是的是这样。 那更复杂的对象呢 琴弦 日期 收藏 还是领域对象 使用JUnit Theories您可以设置测试数据生成器一次创建所有容易出现问题的场景然后使用这些理论在所有测试中重用这些场景。 这将使您的测试更具表现力并提高发现错误的可能性。 参考来自Java出现日历博客的JCG合作伙伴 Jens Schauder 对JUnit理论的介绍 。 翻译自: https://www.javacodegeeks.com/2013/12/introduction-to-junit-theories.html
http://www.hn-smt.com/news/75184/

相关文章:

  • 2025年11月智能体公司推荐榜:权威评测与综合排名报告
  • 2025年11月中国电动叉车销售公司推荐榜单与选择指南:基于市场数据的权威分析
  • 三石量化股票数据提取分析报告 - 2025年11月29日
  • 2025年中国电磁屏蔽设备十大品牌推荐:常州硕捷屏蔽设备环保
  • 电磁屏蔽房安装生产厂TOP5权威推荐:设计定制与专业加工哪家
  • Rust 复合类型深度解析:元组的设计智慧与工程实践 - 指南
  • 2025年仓储货架厂家综合实力排行榜:五大优质厂商深度评测与选择指南
  • 2025年钢木货架品牌排行榜前十强权威推荐
  • 2025年甘肃穿梭式货架十大品牌权威推荐榜单
  • 2025年液压多通路旋转接头厂家权威推荐榜单:液压旋转接头/高温旋转接头‌/高速旋转接头‌源头厂家精选
  • 2025年兰州拉面加盟品牌权威排行榜TOP5:陇尚合领跑行业
  • 【2025】Solid Edge下载安装教程(附安装包)保姆级安装步骤 - 实践
  • 2025年靠谱的斑马鱼繁殖设备高标准精选榜
  • 【ComfyUI】混元3D 2.0 Turbo 多视图生成模型 - 指南
  • 国内游旅行社哪家有优惠活动?近期热门选择推荐
  • 旅行社定制旅游哪家服务好?真实用户体验参考
  • 酒店设计施工一体化公司推荐:行业优质服务解析
  • 2025 年深圳摄影培训机构推荐榜:路人贾(深圳分公司)排名第一、摄影十杰创办
  • 2025年靠谱的自润滑纤维缠绕轴承厂家最新推荐排行榜
  • 2025年热门的信息技术服务认证公司行业精选榜
  • 2025年靠谱的匹克球网厂家推荐及采购参考
  • 2025 年 11 月舒适轮胎品牌权威推荐榜:耐磨静音轮胎厂家精选,卓越性能与驾驶体验深度解析
  • 2025年质量好的船舶尼龙轮最新TOP厂家排名
  • 2025年热门的高压粉碎均质机/实验室用均质机厂家最新推荐排行榜
  • MySQL 存储过程事务和锁
  • 你可能需要一部 Iphone
  • 2025成都隔音窗厂家哪家好?优质隔音窗厂家清单请收好
  • 2025年11月28日
  • 第39天(中等题 数据结构)
  • FOC调试笔记