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

给宝宝做衣服网站好手把手教你做网站

给宝宝做衣服网站好,手把手教你做网站,国家重点项目建设部网站,机械行业营销型网站不久前#xff0c; David Saff宣布了JUnit 4.9的beta版 。 因此#xff0c;我认为现在是研究该版本中的新增功能的好时机。 JUnit领域中最有用的创新之一是Rule。 我在这里写了有关规则的文章 。 我在这里写了有关JUnit规则的用例 。 规则很棒。 借助JUnit 4.9#xff0c;它… 不久前 David Saff宣布了JUnit 4.9的beta版 。 因此我认为现在是研究该版本中的新增功能的好时机。 JUnit领域中最有用的创新之一是Rule。 我在这里写了有关规则的文章 。 我在这里写了有关JUnit规则的用例 。 规则很棒。 借助JUnit 4.9它们变得更好。 您可以将规则视为将测试的设置和拆卸封装在一个类中而不是两个方法中的一种方法。 但是规则也是一种修改执行测试方式的方法。 您可以多次运行测试而不是一次。 或在二十个不同的线程中。 有趣的是只有单个测试规则。 因此如果您要坚持进行设置和拆卸的比较 那么Before和After则在Rule中没有等效的BeforeClass和AfterClass 。 现在情况已经改变。 现在您可以标注类型TestRule的公共静态字段与ClassRule它会表现就像是一整个测试类而不是一个单一的测试定义的规则。 因此对于需要为所有测试设置一次而不是为每个测试设置一次的东西而言它是完美的选择。 让我们来看一个例子。 规则的实现可能如下所示 import org.junit.rules.TestRule; import org.junit.runner.Description; import org.junit.runners.model.Statement;public class LoggingRule implements TestRule {public class LoggingStatement extends Statement {private final Statement statement;public LoggingStatement(Statement aStatement, String aName) {statement aStatement;}Overridepublic void evaluate() throws Throwable {System.out.println(before: name);statement.evaluate();System.out.println(after: name);}}private final String name;public LoggingRule(String aName) {name aName;}Overridepublic Statement apply(Statement statement, Description description) {System.out.println(apply: name);return new LoggingStatement(statement, name);}} 大多数实现将由两部分组成 TestRule接口的实现和Statement接口的实现。 TestRule替换了以前不推荐使用的MethodRule接口。 这是因为新接口同时支持类级别和方法级别的Rule因此必须进行一些更改。 TestRule有一个应用apply方法该方法接受一条Statement并返回一条Statement 。 在执行Rule范围内的任何测试之前将调用此方法。 传入的Statement实际上是可能执行的测试。 这里需要注意两件事如果您的Rule与ClassRule批注一起使用则Statement可能并且将代表多个测试 调用apply并不意味着Statement实际上会被执行。 由于您的规则返回的任何内容都可能传递给其他规则因此在实际执行所包含的测试之前可能会以各种方式对语句进行处理。 apply方法中要做的典型事情是将Statement包裹在一个新的Statement中 它将执行您所需的逻辑。 Statement接口具有单个方法评估 在正常情况下应执行一个测试或一堆测试。 因此如果采用上述典型方法则需要对包含的Statement 进行一些设置调用评估 并进行拆卸。 在上面提供的示例中我在控制台上打印内容以便可以看到以什么顺序调用内容。 该语句还传递了一个描述 其中包含有关测试的有用的元信息。 它包含名称定义测试的类方法名称并提供注释。 因此您的“规则/声明”可以根据其操作所依据的测试方法来微调其行为。 使用此规则的测试类可能如下所示 import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test;public class RuleTest {ClassRulepublic static LoggingRule classRule new LoggingRule(classrule);Rulepublic static LoggingRule rule new LoggingRule(rule);Testpublic void testSomething() {System.out.println(In TestSomething);assertTrue(true);}Testpublic void testSomethingElse() {System.out.println(In TestSomethingElse);assertTrue(true);} } 对JUnit4.8规则的唯一更改是ClassRule批注的存在。 请注意同一类与ClassRule和Rule批注一起使用。 执行后测试类的输出如下所示 apply: classrule before: classrule apply: rule before: rule In TestSomething after: rule apply: rule before: rule In TestSomethingElse after: rule after: classrule 如您所见首先将应用类级别的Rule并评估结果Statement 。 仅作为评估的一部分才应用方法级别的“规则”并评估结果“ 语句” 每次测试一次。 提醒您一句小心在“规则”中使用正确的修饰符。 它们必须是公共的并且类级别的规则必须是静态的。 取决于您做错了什么以及您在什么环境中工作导致的错误可能并不完全有用。 这被认为是一个错误并且正在修复。 参考来自Schauderhaft博客的JCG合作伙伴 Jens Schauder的 JUnit 4.9测试版3中的规则 。 相关文章 Java工具源代码优化和分析 框架使开发人员愚蠢吗 每个程序员都应该知道的事情 JDK中的设计模式 Java最佳实践 翻译自: https://www.javacodegeeks.com/2011/09/rules-in-junit-49-beta-3.html
http://www.zqtcl.cn/news/915280/

相关文章:

  • 国内设计网站公司wordpress电视主题下载
  • 自贡网站开发河南省建设网站首页
  • 昆明网站推广优化服务器代理
  • wordpress 网站统计插件福建省建设工程职业注册网站
  • 手机移动端网站是什么上海网站设计服务商
  • 多语言网站建设推广孝感门户网
  • 外贸soho 网站建设旅游电子商务网站建设调查问卷
  • 北京专业制作网站seo优化技术教程
  • 网站建设最低多少钱珠海在线网站制作公司
  • 网站建设完成之后要索取哪些医疗网站建设服务
  • 长沙招聘网站有哪些深圳seo论坛
  • 网站如何做网络推广山西住房建设厅官方网站
  • 优化排名推广技术网站平面设计创意
  • 山西网站建设哪家有tv域名的网站
  • 个人博客网站怎么赚钱公司招聘一个网站建设来做推广
  • 功能型网站有哪些中国门户网站有哪些
  • 网站制作教程步骤软件公司怎么赚钱
  • 看世界杯网址网站更新seo
  • 深圳网站做的好的公司商洛做网站电话
  • 环保部网站官网建设项目审批做网站推广赚钱吗
  • 北仑建设局网站东莞市seo网络推广价格
  • 大专学历怎么自考优化建站
  • 网站上的图片怎么替换中国电力建设集团网站
  • 开发手机网站步骤手机网站前端开发布局技巧
  • 文山文山市网站建设网站建设管理教程视频
  • 深圳建筑业协会官网seo短视频新地址在哪里
  • 学院宣传网站制作大型网站团队人数
  • 新品发布会ppt参考友山建站优化
  • 做网站云服务器装系统厦门网站建设哪家强
  • 网站建设顶呱呱东莞建设信息网官网