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

网站留言板 html中国建设网网站

网站留言板 html,中国建设网网站,推广方式怎么写,asp.net+制作网站开发如果您搜索什么是页面对象的描述#xff0c;就会发现页面对象模式为我们提供了一种以可重用和可维护的方式对内容建模的常识方法。 还要指出#xff1a;在Web应用程序的UI中#xff0c;您的测试与某些区域交互。 Page Object只是将它们建模为测试代码中的对象。 这减少了重… 如果您搜索什么是页面对象的描述就会发现页面对象模式为我们提供了一种以可重用和可维护的方式对内容建模的常识方法。 还要指出在Web应用程序的UI中您的测试与某些区域交互。 Page Object只是将它们建模为测试代码中的对象。 这减少了重复代码的数量并且意味着如果UI更改则仅需要在一个地方应用此修复程序。 如您所见 Page Object适用于UI元素。 我们 Arquillian社区在Page Object模式逻辑之后创造了一种新模式称为Container Object模式。 您可以将“ 容器对象”视为您的测试可能与之交互的容器区域现在为Docker容器。 例如其中一些领域可能是 获取运行容器的主机IP。 给定暴露端口的有界端口。 在配置文件Dockerfile中配置的任何参数例如用于访问容器公开的服务的用户或密码。 容器的定义。 一个容器对象内部可能包含多个容器对象的集合。 这有效地在容器之间建立了关系船链接。 例如在容器中运行MySQL数据库的情况下配置参数的示例可能是访问数据库的用户和密码。 请注意没有什么可以阻止您生成用于从测试访问服务的正确URL或阻止针对容器执行命令例如检索内部文件。 当然就像Page Object一样 Container Object为您提供了一种构建模型内容的方法该模型内容可用于多个项目。 在研究如何在Arquillian Cube中实现此模式之前我们先来看一个示例 假设您所有的应用程序都需要将文件发送到FTP服务器。 要编写集成/组件测试您可能需要一个FTP服务器来发送文件并检查文件是否已正确发送。 一种方法是在执行测试之前使用Docker启动FTP服务器然后使用该Docker容器用于FTP服务器执行测试然后再停止容器以检查文件是否存在最后停止容器。 因此所有涉及FTP服务器和容器的所有操作都可以在Container Object中加入。 该容器对象可能包含以下信息 使用哪个图像 运行此FTP服务器的主机的IP和绑定端口 访问FTP服务器的用户名和密码 断言文件存在的方法 然后从测试的角度来看它仅与该对象通信而不是直接对测试内部的所有信息进行硬编码。 再次与Page Object中一样 容器上的任何更改都只会影响Container对象而不会影响测试本身。 现在通过一个非常简单的示例看看Arquillian Cube如何实现Container Object模式 Arquillian多维数据集和容器对象 让我们看一个简单的示例说明如何在Cube中实现Container Object 。 假设您要创建一个容器对象该对象封装了在Docker内部运行的乒乓服务器。 容器对象将类似于带有特殊注释的简单POJO Cube(value pingpong, portBinding 5000-8080/tcp) // 1 CubeDockerFile public class PingPongContainer {HostIp // 2String dockerHost;HostPort(8080) // 3private int port;public URL getConnectionUrl() { // 4try {return new URL(“http://” dockerHost “:” port);} catch (MalformedURLException e) {throw new IllegalArgumentException(e);}} } 在前面的示例中您必须注意以下几行 Cube注释配置Container Object 。 容器对象可以使用Arquillian浓缩器进行浓缩。 为给定的裸露端口注入有界端口。 容器对象隐藏了如何连接到PingPong服务器。 Cube批注用于配置此Container对象 。 最初您将启动的容器命名为pingpong并设置容器实例的端口绑定信息在本例中为5000→8080 / tcp 。 请注意这可以是一个数组用于设置多个端口绑定定义。 下一个注释是CubeDockerFile 它配置如何创建容器。 在这种情况下请使用位于默认类路径位置的Dockerfile 。 默认位置是package classname 因此例如在以前的情况下 Dockerfile应该放置在org / superbiz / containerobject / PingPongContainer目录中。 当然您可以通过将注解作为值传递来设置任何其他类路径位置。 CubeDockerFile批注设置找到Dockerfile的位置而不是文件本身。 同样该位置应该可以从ClassLoader到达因此这意味着应该从类路径中加载它才能找到它。 任何多维数据集都可以使用任何客户端扩展器进行扩展 在这种情况下可以使用HostIp 优化器进行扩展 但是也可以使用ArquillianResource通过DockerClient进行扩展 。 最后 HostPort用于将公开的端口转换为绑定的端口。 因此在此示例中端口值将为5000 。 您将简要了解为什么此批注很重要。 然后您可以在测试中开始使用此容器对象 RunWith(Arquillian.class) public class PingPongTest {CubePingPongContainer pingPongContainer;Testpublic void shouldReturnOkAsPong() throws IOException {String pong ping();assertThat(pong, containsString(OK));assertThat(pingPongContainer.getConnectionPort(), is(5000));} } 这里最重要的是您需要将Container Object设置为类的字段并使用Cube进行注释。 用Cube注释字段非常重要因此Arquillian在运行测试之前可以检测到它需要启动一个新的Cube Docker容器创建Container Object并将其注入测试中。 请注意此批注与定义Container Object时使用的批注完全相同。 之所以这样是因为您可以从测试端覆盖Container Object的任何属性。 这就是HostPort批注很重要的原因因为可以从测试定义中更改端口所以您需要找到一种在容器对象内部注入正确端口的方法。 在这篇文章中我介绍了容器对象模式以及如何在Arquillian Cube中使用 。 但这只是一个小尝试您可以在以下位置阅读有关Arquillian Cube和Container Object集成的更多信息 https://github.com/arquillian/arquillian-cube#arquillian-cube-and-container-object 还可以在以下位置找到运行示例 https://github.com/arquillian/arquillian-cube/tree/master/docker/ftest-docker-containerobject 翻译自: https://www.javacodegeeks.com/2016/01/container-object-pattern-new-pattern-tests.html
http://wiki.neutronadmin.com/news/265505/

相关文章:

  • 兰州建设局网站公告网站跟app的区别是什么
  • 深圳公众号开发公司百度网站优化软件
  • 做网站工作内容内蒙古市最新新闻
  • 抢注域名网站怎么弄一个电商平台
  • 看优秀摄影做品的网站培训网站建设公司排名
  • 如何创建一个论坛网站莱芜网络推广公司电话
  • 用jsp做一网站的流程品牌建设方案的完整纲要
  • 设计网站都有什么北京市网站公司网站
  • 漳州城乡建设局网站首页哪些经营范围可以开网站建设费用
  • 密云城市建设官方网站营销策划网站
  • 手机网站制作教程软件网络购物系统参考文献
  • 常德市建设工程造价网站网站后台管理规定
  • 南阳网站开发公司广州 网站优化
  • h5开发环境济南网站优化排名推广
  • 宣城市建设监督管理局网站首页完整的营销策划方案
  • 智慧团建团员登录网站网站 域名解析出错
  • 江苏建设行业证书编号查询网站电商公司组织架构图
  • 商城网站服务器租用视频制作流程
  • 建设通网站怎么注销微信小程序开发介绍
  • 会展相关网站建设柳州市建设中心网站首页
  • seo包括网站建设吗福建厦门网站建设公司
  • 建设一个旅游网站网络营销心得体会
  • 网站建设项目的工期计划英文网站建设合同
  • 大眼睛网站建设html个人博客完整代码
  • 大企业网站建设方案中国互联网前100名企业
  • 上海哪里有做网站的软件开发需要学什么知识
  • dede多个网站怎么做怎样在百度上做推广网站
  • 潍坊网站制作在线网站所有者是什么意思
  • 免费制作永久网站医院网站主页面设计
  • 大图网 网站网站上传百度多久收录