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

游戏开发平台seo的定义

游戏开发平台,seo的定义,茂名网站建设优化,网站建设培训班学费junit runner几周前#xff0c;我开始创建一个小的JUnit Runner#xff08; Oleaster #xff09;#xff0c;它允许您使用Jasmine方式在JUnit中编写单元测试。 我了解到#xff0c;创建自定义JUnit Runners实际上非常简单。 在这篇文章中#xff0c;我想向您展示JUnit R… junit runner 几周前我开始创建一个小的JUnit Runner Oleaster 它允许您使用Jasmine方式在JUnit中编写单元测试。 我了解到创建自定义JUnit Runners实际上非常简单。 在这篇文章中我想向您展示JUnit Runners在内部如何工作以及如何使用自定义Runners修改JUnit的测试执行过程。 那么什么是JUnit Runner JUnit Runner是扩展JUnit抽象Runner类的类。 运行程序用于运行测试类。 可以使用RunWith注释设置应该用于运行测试的Runner 。 RunWith(MyTestRunner.class) public class MyTestClass {Testpublic void myTest() {..} } JUnit测试是使用JUnitCore类开始的。 可以通过从命令行运行它也可以使用它的各种run方法之一来完成此操作如果您按run test按钮这就是您的IDE所做的事情。 JUnitCore.runClasses(MyTestClass.class); 然后JUnitCore使用反射为通过的测试类找到合适的Runner。 此处的一个步骤是在测试类上查找RunWith批注。 如果未找到其他运行程序则将使用默认运行程序 BlockJUnit4ClassRunner 。 将实例化Runner并将测试类传递给Runner。 现在实例化并运行通过的测试类是Runner的工作。 跑步者如何工作 让我们看一下标准JUnit Runners的类层次结构 Runner是一个非常简单的类实现了Describable接口并具有两个抽象方法 public abstract class Runner implements Describable {public abstract Description getDescription();public abstract void run(RunNotifier notifier); } 方法getDescription从Describable继承并且必须返回Description 。 描述包含了各种工具以后导出和使用的信息。 例如您的IDE可能会使用此信息来显示测试结果。 run是一种非常通用的方法 可以运行某些内容 例如测试类或测试套件。 我认为通常Runner并不是您要扩展的类它太慷慨了。 在ParentRunner中事情变得更加具体。 ParentRunner是具有多个子代的Runner的抽象基类。 在这里重要的是要理解测试是按层次结构构造和执行的就像树一样。 例如您可能运行包含其他测试套件的测试套件。 这些测试套件可能包含多个测试类。 最后每个测试类可以包含多个测试方法。 ParentRunner具有以下三种抽象方法 public abstract class ParentRunnerT extends Runner implements Filterable, Sortable {    protected abstract ListT getChildren();protected abstract Description describeChild(T child);protected abstract void runChild(T child, RunNotifier notifier); } 子类需要在getChildren中返回泛型T的列表。 然后ParentRunner要求子类为每个孩子describeChild创建一个Description最后运行每个孩子runChild。 现在让我们看一下两个标准的ParentRunnersBlockJUnit4ClassRunner和Suite。 如果没有提供其他Runner则使用BlockJUnit4ClassRunner为默认Runner。 因此这是运行单个测试类时通常使用的Runner。 如果您查看BlockJUnit4ClassRunner的来源您将看到类似以下内容 public class BlockJUnit4ClassRunner extends ParentRunnerFrameworkMethod {Overrideprotected ListFrameworkMethod getChildren() {// scan test class for methonds annotated with Test}Overrideprotected Description describeChild(FrameworkMethod method) {// create Description based on method name}Overrideprotected void runChild(final FrameworkMethod method, RunNotifier notifier) {if (/* method not annotated with Ignore */) {// run methods annotated with Before// run test method// run methods annotated with After}} } 当然这被过度简化了但是它显示了BlockJUnit4ClassRunner的基本功能。 通用类型参数FrameworkMethod基本上是java.lang.reflect.Method的包装提供了一些方便的方法。 在getChildren中扫描测试类以查找使用Test进行反射的方法。 找到的方法包装在FrameworkMethod对象中并返回。 describeChildren从方法名称创建一个Description然后runChild最终运行测试方法。 BlockJUnit4ClassRunner在内部使用了很多受保护的方法。 根据您要确切执行的操作最好检查BlockJUnit4ClassRunner是否可以覆盖方法。 您可以在GitHub上查看BlockJUnit4ClassRunner的源代码。 Suite Runner用于创建测试套件。 套件是测试或其他套件的集合。 一个简单的套件定义如下所示 RunWith(Suite.class) Suite.SuiteClasses({MyJUnitTestClass1.class,MyJUnitTestClass2.class,MyOtherTestSuite.class }) public class MyTestSuite {} 通过选择带有RunWith批注的Suite Runner来创建测试套件。 如果查看Suite的实现您会发现它实际上非常简单。 Suite唯一要做的就是从使用SuiteClasses批注定义的类中创建Runner实例。 因此getChildren返回Runner列表runChild将执行委托给相应的Runner。 例子 利用提供的信息创建您自己的JUnit Runner并不难至少我希望如此。 如果您正在寻找一些示例自定义Runner实现则可以查看以下列表 Fabio Strozzi创建了一个非常简单明了的GuiceJUnitRunner项目 。 它为您提供了在JUnit测试中注入Guice组件的选项。 来源GitHub Spring的SpringJUnit4ClassRunner可帮助您测试Spring框架应用程序。 它允许您在测试类中使用依赖项注入或创建事务性测试方法。 来源GitHub Mockito为自动模拟初始化提供了MockitoJUnitRunner 。 来源GitHub Oleaster的 Java 8茉莉花赛跑者。 源自GitHub 无耻的自我推广 结论 JUnit Runners具有高度可定制性可让您选择更改以完成测试执行过程。 很酷的事情是可以更改整个测试过程并且仍然使用IDE构建服务器等的所有JUnit集成点。 如果您只想进行较小的更改那么最好查看一下BlockJUnit4Class运行程序的受保护方法。 您很有可能在正确的位置找到可重写的方法。 翻译自: https://www.javacodegeeks.com/2014/08/understanding-junits-runner-architecture.htmljunit runner
http://www.zqtcl.cn/news/310218/

相关文章:

  • 科凡网站建设小程序自己开发
  • 专门做金融的招聘网站wordpress 价格
  • 微商城网站建设信息定制程序网站
  • 电子政务网站开发餐饮品牌设计包括哪些
  • 深圳手机商城网站设计公司网站做会员用什么源码
  • 安康网站建设公司价格pathon做网站
  • jq网站模板宣城有做网站的公司吗
  • 江苏个人备案网站内容大连seo加盟
  • 服装网站建设公司地址公司网站建设需要注意什么
  • 免费行情软件网站下载安装电子商务网站建设实训报告
  • wordpress怎么添加企业网站美化网站公司
  • 工作室网站源码全球军事网站
  • 网站设计模板免费建站珠海正规网站制作排名费用多少
  • 北京沙河教做网站的wordpress增加自适应功能
  • 中国著名的个人网站网站设计怎么做ppt答辩
  • 郑州做招商的网站网站后台主流网站开发语言
  • 专业足球网站开发铜陵网站优化
  • 南昌高端网站开发山西太原网站建设公司
  • 青岛专业制作网站的公司吗百度咨询
  • 自定义网站模块深圳宝安区有什么好玩的地方
  • 如何增加网站的外链微平台网站支持html5实现游戏
  • 平台网站建设网站邯郸seo优化
  • 做网站着用什么软件盐城网站建设电话
  • 自己的网站wordpress自动变化文字
  • 北京制作网站公司哪家好wordpress小工具不显示不出来
  • 如何建设一个新的网站h5网站建设价格
  • 无锡专业做网站的怎么攻击php做的网站
  • 盐城网站建设代理商wordpress定义字体颜色
  • 成都旅游网站建设地址自己做的网站怎么被搜索出来
  • 网站建设免费免代码商城微网站如何做