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

设计视频网站seo网址大全

设计视频网站,seo网址大全,公司企业网站源码,百度首页 百度junit规则规则在测试#xff0c;测试用例或测试套件周围增加了特殊处理。 他们可以对该类中的所有测试执行通用的其他验证#xff0c;并发运行多个测试实例#xff0c;在每个测试或测试用例之前设置资源#xff0c;然后在之后拆除它们。 该规则可以完全控制将要应用到的测… junit规则 规则在测试测试用例或测试套件周围增加了特殊处理。 他们可以对该类中的所有测试执行通用的其他验证并发运行多个测试实例在每个测试或测试用例之前设置资源然后在之后拆除它们。 该规则可以完全控制将要应用到的测试方法测试用例或测试套件。 完全控制意味着规则决定运行它之前和之后要做什么以及如何处理抛出的异常。 第一章介绍了如何使用规则第二章介绍了内置规则可以做什么。 第三章介绍了我发现的第三方规则库最后一章介绍了如何创建新规则。 使用规则 本章说明如何在测试用例中声明和使用规则。 大多数规则可以分别应用于每种测试方法一次应用于整个测试用例一次应用于整个测试套件。 为每个测试单独运行的规则称为测试规则应用于整个测试用例或套件的规则称为类规则。 我们将以临时文件夹规则为例因此第一个子章节将说明它的作用。 第二小节将其声明为测试规则第三小节将其声明为类规则。 最后一个子章节显示了如何从测试内部访问该文件夹。 规则示例–临时文件夹 临时文件夹规则创建一个新的空文件夹运行测试或测试用例然后删除该文件夹。 您可以指定在哪里创建新文件夹也可以在系统临时文件目录中创建它。 临时文件夹既可以用作测试规则也可以用作类规则。 声明测试规则 测试规则例如针对每种测试方法分别运行的规则必须在带有Rule注释的公共字段中声明。 声明测试规则 public class SomeTestCase {Rulepublic TemporaryFolder folder new TemporaryFolder(); } 上面的folder规则会在每种测试方法之前创建一个新文件夹然后将其销毁。 所有测试都可以使用该目录但不能通过该目录共享文件。 由于我们使用的构造函数没有参数因此该文件夹将在系统临时文件目录中创建。 测试规则在使用Before注释的方法之前和之后使用After注释的方法之前进行工作。 因此他们也将有权访问临时文件夹。 宣布班级规则 类规则例如针对整个测试用例或测试套件运行一次的规则必须在公共静态字段中声明并使用ClassRule注释进行注释。 声明测试用例规则 public class SomeTestCase {ClassRulepublic static TemporaryFolder folder new TemporaryFolder(); } 上面的folder规则在运行第一个测试方法之前创建一个新文件夹并在最后一个测试方法之后销毁它。 所有测试都可以使用该目录并且可以查看以前运行的测试所创建的文件。 类规则在该类内部的任何内容之前运行。 例如用BeforeClass或AfterClass注释的方法也可以访问临时文件夹。 该规则在它们之前和之后运行。 在测试中使用规则 规则是任何其他类测试可以自由调用其公共方法并使用其公共字段。 这些调用用于将测试特定的配置添加到规则或从中读取数据。 例如可以使用newFile newFolder或getRoot方法访问临时文件夹。 前两个在临时文件夹中创建新文件或文件夹而getRoot方法返回临时文件夹本身。 创建临时文件和文件夹 Test public void test1() {// Create new folder inside temporary directory. Depending on how you // declared the folder rule, the directory will be deleted either // right after this test or when the last test in test case finishes.File file folder.newFolder(folder); }Test public void test2() {// Create new file inside temporary folder. Depending on how you // declared the folder rule, the file will be deleted either // right after this test or when the last test in test case finishes.File file folder.newFile(file.png); }默认规则 JUnit带有五个直接可用的规则 临时文件夹预期的异常超时错误收集器和测试名称。 临时文件夹已在上一章中进行了说明因此我们将仅简要介绍其余四个规则。 预期异常 预期异常将运行测试并捕获其引发的所有异常。 该规则能够检查异常是否包含正确的消息正确的原因以及是否由正确的行抛出。 预期的异常具有私有构造函数必须使用静态none方法进行初始化。 每个异常引发测试都必须配置预期的异常参数然后调用规则的expect方法。 该规则在以下情况下失败 测试在expect方法调用之前引发任何异常 在expect方法调用之后测试不会引发异常 引发的异常没有正确的消息类或原因。 最后一条测试行引发异常。 在导致异常之前立即配置了预期的异常规则 Rule public ExpectedException thrown ExpectedException.none();Test public void testException() {// Any exception thrown here causes failuredoTheStuff();// From now on, the rule expects NullPointerException exception// to be thrown. If the test finishes without exception or if it // throws wrong one, the rule will fail.thrown.expect(NullPointerException.class);// We well check also messagethrown.expectMessage(Expected Message.);// this line is supposed to throw exceptiontheCodeThatThrowsTheException(); } 奖励预期的消息方法也接受hamcrest匹配器参数。 这样您就可以测试消息前缀后缀是否与某些正则表达式匹配。 超时 超时规则可以同时用作测试规则和类规则。 如果将其声明为测试规则则它将相同的超时限制应用于该类中的每个测试。 如果将其声明为类规则则它将超时限制应用于整个测试用例或测试套件。 错误收集器 通过错误收集器您可以在测试内部运行多个检查然后在测试结束后立即报告所有失败。 期望值与实际值的断言使用规则公开的checkThat方法进行评估。 它接受hamcrest匹配器作为参数因此可以用来检查任何内容。 可以使用addError(Throwable error)方法直接报告意外异常。 或者如果有要运行的Callable实例则可以通过checkSucceeds方法调用它 checkSucceeds方法将所有抛出的异常添加到错误列表中。 测试名称 测试名称规则在测试内部公开测试名称。 当您需要创建自定义错误报告时它可能会很有用。 第三方规则库 规则与测试类分离因此很容易编写通用规则库并在项目之间共享它们。 本章介绍了三个这样的库。 系统规则是用于测试使用java.lang.System的代码的规则集合。 它有充分的文档证明可在maven中使用并根据Common Public License 1.0与jUnit相同发布。 系统规则使您可以轻松 测试System.err和System.out内容 模拟System.in输入 配置系统属性并将其值还原回 测试System.exit()调用–是否被调用以及返回的值是什么 自定义Java SecurityManager并将其还原。 一个大集的有用的规则是可以在GitHub上aisrael帐户。 它的文档有所限制但是您可以随时查看代码 。 所有规则均根据MIT许可发布 启动和停止内存中的derby数据库 启动和停止默认的Java HttpServer 启动和停止Jetty服务器 运行存根jndi 对dbUnit测试的一些支持。 github上另一套未公开的规则。 我不会在这里列出它们因为它们的名称是不言自明的并且它们没有指定的许可证。 查看规则目录以查看其列表。 自订规则 本章介绍如何创建新规则。 可以通过实现TestRule接口或扩展TestRule提供的两个便捷类ExternalResource和Verifier之一来从头实现它们。 我们将从头开始创建一个新规则然后使用ExternalResource类重写它。 新规则 新规则可确保在每个测试完成工作后正确删除由测试创建的所有文件。 测试本身仅具有一项责任使用规则公开的ensureRemoval(file)方法报告所有新文件。 如何声明和使用DeleteFilesRule规则 Rule public DeleteFilesRule toDelete new DeleteFilesRule();Test public void example() throws IOException {// output.css will be deleted whether the test passes, fails or throws an exceptiontoDelete.ensureRemoval(output.css);// the compiler is configured to create output.css filecompileFile(input.less);checkCorrectess(output.css); }从头开始 每个规则包括类规则必须实现TestRule接口。 该接口只有一种方法 public interface TestRule {Statement apply(Statement base, Description description); } 我们的工作是获取base参数中提供的语句然后将其转换为另一个语句。 该语句表示一组要运行的动作例如测试测试用例或测试套件。 它可能已经被其他声明的规则修改并且包括在测试或类方法之前和之后。 第二个description参数描述输入语句。 它可以告诉测试类名称测试名称放置在其上的注释它知道我们是在处理测试还是在测试套件等。我们将不需要它。 我们需要创建一个新的语句它将执行三件事 清空要删除的文件列表。 运行底层测试测试案例或测试套件由所表示的base参数。 删除先前运行的语句中测试报告的所有文件。 该语句是具有一个抽象方法的类 public abstract class Statement {public abstract void evaluate() throws Throwable; } 由于基础语句可能引发异常因此删除所有文件的代码必须在finally块中运行 public class DeleteFilesRule implements TestRule {public Statement apply(final Statement base, final Description description) {return new Statement() {Overridepublic void evaluate() throws Throwable {emptyFilesList(); // clean the list of filestry {base.evaluate(); // run underlying statement} finally {removeAll(); // delete all new files}}};} } 引用的方法emptyFilesList和removeAll都在new语句外部直接在DeleteFilesRule类内部声明 public class DeleteFilesRule implements TestRule {private ListFile toDelete;private void emptyFilesList() {toDelete new ArrayListFile();}private void removeAll() {for (File file : toDelete) {if (file.exists())file.delete();}}/* ... the apply method ... */ } 我们需要的最后一件事是能够添加要删除的文件的公共方法 public void ensureRemoval(String... filenames) {for (String filename : filenames) {toDelete.add(new File(filename));} }全班 public class DeleteFilesRule implements TestRule {private ListFile toDelete;public void ensureRemoval(String... filenames) {for (String filename : filenames) {toDelete.add(new File(filename));}}private void emptyFilesList() {toDelete new ArrayListFile();}private void removeAll() {for (File file : toDelete) {if (file.exists())file.delete();}}public Statement apply(final Statement base, final Description description) {return new Statement() {Overridepublic void evaluate() throws Throwable {emptyFilesList(); // clean the list of filestry {base.evaluate(); // run underlying statement} finally {removeAll(); // delete all new files}}};} }扩展内置类 JUnit包含两个便捷类ExternalResource和Verifier旨在进一步简化上述过程。 外部资源 当您需要围绕基础测试语句进行某种预处理和后处理时 ExternalResource帮助。 如果需要预处理请覆盖before方法。 如果需要后处理请覆盖after方法。 的 从finally块调用after 无论如何它将运行。 我们的DeleteFilesRule可以这样重写 public class DeleteFilesRule2 extends ExternalResource {/* ... list, ensureRemoval and removeAll methods ... */Overrideprotected void before() throws Throwable {toDelete new ArrayListFile();}Overrideprotected void after() {removeAll();}}验证者 Verifier者只有一种verify要覆盖的方法。 只有在包装测试未引发异常后该方法才会运行。 顾名思义如果您想在测试后进行其他检查则验证程序是不错的选择。 有关jUnit的更多信息 关于jUnit 4功能的上一篇文章 jUnit动态测试生成 翻译自: https://www.javacodegeeks.com/2014/09/junit-rules-2.htmljunit规则
http://www.yutouwan.com/news/87674/

相关文章:

  • 合网站建设nodejs网站开发实例
  • 南京溧水网站建设网站验证码怎么做的
  • 如何设置网站子域名成都装饰公司十大排名榜
  • 南通门户网站建设方案凡科网登录入口注册
  • 石家庄seo按天扣费快速网站优化技巧
  • 深圳外贸网站开发公司网站建设挂什么费用
  • 适合翻译做兼职的网站软件培训手册
  • 建设银行英文网站关键词有几种类型
  • 做名片赞机器人电脑网站是多少宣传视频
  • 东莞seo建站优化收费网站建设和维护的职责
  • 西部数码网站管理助手 mssql安阳做网站哪家好
  • 网站开发的计划书做自媒体有哪些网站
  • 旅行社网站规划与建设的流程图关键词工具有哪些
  • 驻马店哪里做网站长春建站模板制作
  • 企业网站建设及运营现状分析wordpress个人外链
  • 网站设计培训成都哪家好广东网络公司网站建设
  • 淘宝做女鞋在哪个网站找货wordpress 付费查看
  • 网站建设制作公网站tdk设置界面
  • 电子商务网站建设一般流程图校园网站建设论文
  • 注册网站诚信承诺书wordpress主题width=1 height=1图片不显示
  • 徐州网站制作网页代码
  • wordpress 网站logo网站制作的销售对象
  • 做网站时图片要切片有什么作用网站建设设计总结
  • 网站推广的重要性网页游戏网站网址
  • 商城型网站开发网站建设泰安公司网站建设价格查询
  • 标准网站建设哪家好wordpress流量统计放在哪里
  • 上海网站建设网站开发网站推广设计制作
  • 网络公司网站建设报价滨江建设交易门户网站
  • win2012做网站个人房屋做民宿在哪个网站
  • 泉州市建设局网站公示学视频剪辑去哪里学比较好