澳门网络娱乐游戏平台-澳门电子游戏娱乐网址-官方直营

【澳门网址赌场正规网址】无IDE下编写翻译和平运动转Java的办法

若果您想做活动API测量检验,但并未编程背景,那么您不得不要给Karate三个机缘!

今天 Java subreddit 现身了一篇”在未曾IDE的情事下编写翻译Java包” 的帖子,那些帖子抛出了这么三个主题素材,“是不是留存一个发令能够编写翻译一组处于雷同文件夹下独立包内的java文件的方式(那名称叫bin),同有时候怎么着运维新的类公事呢?” 它的发起人 kylolink解释说,“当本人开始信任Eclipse来编排代码时就从头操心未有Eclipse时自个儿该怎么写代码了。” 笔者看过很频仍那类难题,事实上,那促使本身(近些日子早就三年了)发了一篇随笔: GPS系统和IDE:究竟是好依然坏? 笔者心爱强盛的今世化的Java的合併开拓条件(IDE),因为它使得笔者的编制程序越发自在,但敞亮怎样营造和周转轻便的Java示例也许有至关重大的,那篇随笔首要便是珍视于怎么样完毕那几个的。

Karate由Intuit作为开源工具发布。该工具意在用于机动API测量试验,并保有使API测验变得轻便且实际令人高兴的具备供给成效。

澳门网址赌场正规网址 1

与特殊需求大量编码的任何自动化API测量试验工具分歧,即便只是做基本的事物,Karate开箱即用。您可以在不通晓其余编程语言的景观下营造最复杂的伸手

本人博客中一篇随笔 通过简单的测验学习Java,当中写了自笔者爱好用一个粗略的【澳门网址赌场正规网址】无IDE下编写翻译和平运动转Java的办法。文件编辑器和命令行工具来编排并且运营轻便的前后相继。今后自个儿有个很棒的主张,是有关作者最赏识的java ide的,即早期决定接受IDE的低价是为了确认保障“花销”。在大好些个其实应用程序中,无庸置疑IDE的支出是值得的。但是,对于最轻巧易行的示范应用程序并非总是如此。那篇小说的多余部分显得了在并未有遇上那几个情状的前提下是哪些创设和平运动作Java代码的。

  • 响应操作。您所要做的正是选用纯文本Gherkin样式编写要素文件。

建设构造和平运动转Java代码

因为Karate是叁个一体化的DSL何况位居Cucumber-JVM之上 ,所以你能够像任何专门的学问的Java项目相符运维测量试验并扭转报告,可是你不是编写Java代码,而是用一种用来管理HTTP,JSON的言语来编排测验。或XML轻便易用。

为了对那篇小说实行更现实的研讨,作者将选择部分极其轻巧的Java类,在同叁个包中通过相互作用相关的结合或接续(不在 未命名的包中)来调用dustin.examples。这三个在第多个类从前是未曾 main 函数的,直到 Main.java 才有 main 函数为了在未曾IDE的情形下运转示例。多少个类的代码清单如下。

虽说并未有利用Karate的先决条件,但借使你对HTTP,JSON,XML,JsonPath以致XPath和JavaScript有中央的摸底,它会持有利于。

Parent.java

下边,大家将介绍一些您平时在机关API测量试验中施行的优秀操作,但首先是有关为Karate设置条件的神速指南。

package dustin.examples;

public class Parent
{
   @Override
   public String toString()
   {
      return "I'm the Parent.";
   }
}

Maven的

假定您使用的是Maven,则须要以下多少个依赖项

<dependency> <groupId>com.intuit.karate</groupId> <artifactId>karate-apache</artifactId> <version>0.6.0</version> <scope>test</scope></dependency><dependency> <groupId>com.intuit.karate</groupId> <artifactId>karate-junit4</artifactId> <version>0.6.0</version> <scope>test</scope></dependency>

Child.java

Gradle

新澳门网址,要么,借使您使用的是Gradle,则须求

testCompile 'com.intuit.karate:karate-junit4:0.6.0'testCompile 'com.intuit.karate:karate-apache:0.6.0'
package dustin.examples;

public class Child extends Parent
{
   @Override
   public String toString()
   {
      return "I'm the Child.";
   }
}

澳门网址赌场正规网址,文件夹构造

Karate测验脚本具有文件扩张名 .feature ,前边是Cucumber的正经。您能够运用常规Java包约定来自由集体文件。

Maven的古板是将非Java源文件放在三个独门的 src/test/resources 文件夹布局中 - 不过Karate工具的创笔者建议你将它们与*.java 文件并施放置 。

澳门网址赌场正规网址 2Karate Api测量检验工具 - 文件夹结构

像Cucumber同样,你供给二个运营特点文件的“Runner”类。可是,与Cucumber不一致,没有手续定义!这正是Karate的魔力。

要利用TestRunner.java类来试行要素文件,您需求在pom.xml文件中含有创设部分。

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>Tutorials</groupId> <artifactId>Karate</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.intuit.karate</groupId> 如果对软件测试、接口测试、自动化测试、性能测试、LR脚本开发、 <artifactId>karate-apache</artifactId> 面试经验交流。感兴趣可以175317069,群内会有不定期的发放免费的 <version>0.6.0.4</version> 资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有 </dependency> 好的学习资料可以私聊发我,我会注明出处之后分享给大家。 <dependency> <groupId>com.intuit.karate</groupId> <artifactId>karate-junit4</artifactId> <version>0.6.0.4</version> </dependency> </dependencies> <build> <testResources> <testResource> <directory>src/test/java</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </testResource> </testResources> </build></project>

您的TestRunner.java类看起来像

package com.tutorials.karate;import com.intuit.karate.junit4.Karate;import org.junit.runner.RunWith;@RunWith(Karate.class)public class TestRunner {}

一旦你正在测量检验API(

[ { "id": 1, "name": "FirstUser", "password": "User1Pass" }, { "id": 2, "name": "SecondUser", "password": "User2Pass" }]

你的Karate功能文件如下所示:

Feature: Test User API Scenario: Fetch all users Given url 'https://some-api.com/api/users' When method GET Then status 200 And assert response.length == 2 And match response[0].name == 'FirstUser'

正是那样 - 特别简洁,首要的是,未有代码!

Karate具有特别丰裕的实用作用,让你能够特别轻便便捷地施行活动API测量检验。在末端,我们将深远钻研那个美妙的工具,并譬喻表达在测验API时怎么着做其余你须求的事物!

Main.java

package dustin.examples;

import static java.lang.System.out;

public class Main
{
   private final Parent parent = new Parent();
   private final Child child = new Child();

   public static void main(final String[] arguments)
   {
      final Main instance = new Main();
      out.println(instance.parent);
      out.println(instance.child);
   }
}

接下去显示了目录构造与那一个类的 .java 源文件。截图展现源文件的目录档次构造代表了包名(dustin/examples 源自包 dustin.examples卡塔尔和该子目录下被称之为package-reflecting的目录档次构造 src。小编还创办了 classes 子目录(当前为空)用于寄存编写翻译后文件 .class 文件,因为 javac 在目录不设有的事态下不会创建该目录。

用javac构建和平运动作java

无论选拔哪一类情势不奇怪地构建Java代码(Ant, Maven, Gradle, 或许IDE),我相信谨严的做法是,最少掌握怎么样利用 javac来构建Java代码。Oracle/Sun的维护者们选取 javac 命令行工具的骨干项来运维, javac -help 也能够运行 javac -help -X来查看其余的恢弘选项。怎样使用这么些接受的越多细节能够在 Windows 大概 Unix/Linux的javac的文书档案工具查看。

当步向 javac 文书档案 时, -sourcepath 选项能够被用来代表源文件存在的路子。在地点所显示的目录构造中,假若本人在运营 C:javaexamplesjavacAndJava 目录的 javac 命令,那将代表会须求那样的命令: javac -sourcepath src srcdustinexamples*.java。下一张截图呈现了结果。

澳门网址赌场正规网址 3

因为我们从未点名 .class 文件的目的目录,在暗许景况下它们被放置在同一个索引下被编写翻译的 .java 源文件。大家能够运用 -d 选项来改进这种场地。大家后日能够运维的一声令下,比方 javac -sourcepath src -d classes srcdustinexamples*.java。如前所述,钦点指标目录(classes卡塔尔必需是存在的。那样,命令将会在底下的截图钦命的目录下定位.class文件。

澳门网址赌场正规网址 4

用Java源文件编写翻译成适当的 .class 文件在钦命的目录中,大家前些天能够运转Java应用程序运营命令行工具 java。这仅仅是由此by java -help 所示的指令大概是 java工具页 和.class 文件的 -classpath 所钦定之处(或 -cp卡塔尔选项。使用三种办法来内定 classes目录以便用于找到 .class 文件,接下去的截图注明了那一点。最后二个参数是完全合格的(整个Java包)类名,它有五个 main 函数来实行。上边包车型地铁截图呈现了java -cp classes dustin.examples.Main 和java -classpath classes dustin.examples.Main的指令。

澳门网址赌场正规网址 5

创设和平运动作Ant

对此最简便的Java应用程序, javac and java 使用起来非常轻便,它们用于创设并执行应用程序就各自证实了那或多或少。应用程序会微微复杂一点(如代码中设有八个包/目录或更头眼昏花的信赖于第三方库和框架的类路线),但这种艺术拾壹分难用。 Apache Ant 是最古老的“三大人物”,它是被用于数不尽的应用程序布置的Java营造筑工程具。正如小编谈谈过 从前的一篇博客,贰个幼功的Ant营造文件超级轻便被成立,特别是只要都始于多少个模板就疑似本身在 那篇小说中介绍的一致。

接下去的代码是Ant的 build.xml 文件的,它将 .java 文件 编写翻译成 .class文件然后运转 dustin.examples.Main 类就如上边的 javac 和 java相符。

build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="BuildingSansIDE" default="run" basedir=".">
   <description>Building Simple Java Applications Without An IDE</description>

   <target name="compile"
           description="Compile the Java code.">
      <javac srcdir="src"
             destdir="classes"
             debug="true"
      includeantruntime="false" />
   </target>

   <target name="run" depends="compile"
           description="Run the Java application.">
      <java classname="dustin.examples.Main" fork="true">
         <classpath>
           <pathelement path="classes"/>
         </classpath>
      </java>
   </target>
</project>

本文由澳门网络娱乐游戏平台发布于编程,转载请注明出处:【澳门网址赌场正规网址】无IDE下编写翻译和平运动转Java的办法

相关阅读