intel j idea cucumber java搭建教程

Cucumber 是一个能够理解用普通语言 描述的测试用例的支持行为驱动开发(BDD)的自动化测试工具,用Ruby编写,支持Java和.Net等多种开发语言。

cucumber是非常重要的,那么如何在java中正确使用cucumber呢?

inteljidea是一款非常棒的java编辑器,那么在idea中如何搭建cucumber环境呢?

首先需要新建一个maven工程,我在新建的时候最初建立的是webapp。但是在添加cucumber的时候出现了问题,因为目录结构不正确。后来索性就直接建立了一个普通的maven工程。注意要有src main目录和 test目录。以下是我的目录结构;

注意,setp_definations需要放在test/java下的一个子目录下边,feature文件放在resourse下边。这样,intelj就能够认出feature文件,并且能把feature和step_defination文件相关联起来。

maven中需要加入cucumber的相关jar包,以下为基本所需要的一些jar包:

info.cukes

cucumber-java

test

1.2.4

info.cukes

cucumber-jvm

1.2.4

pom

junit

junit

4.12

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

junit为非必需,但是在判断案例是否运行成功的时候最好使用junit来进行判断一下。

接下来新建feature文件。在新建完feature文件之后,直接右击鼠标,应该是会出现以下 几个菜单,

点击create,即会自动建立一个运行的server(只针对这个feature)。

在feature文件中输入内容,如下:

Feature: Mernagria

Scenario: registe new pet

Given I am on the "new pet" page

And I click the "registe" button

Then I should go to the "register" page1

2

3

4

5

6

这个时候,直接运行这个server会出现以下问题,undefined step

提示我们需要建立step_defination了。

这个时候可以使用cucumber的工具,直接建立相关的step_defination,光标指在某一行,然后点击alt+enter键(代码提示键),则会提示以下内容:

之后则可以直接

建立新文件,如果你以前建立过java类,但是在这个时候看不到以前的类,不用多想了,肯定是你的工程环境出现问题了。

在新建完java类之后,截图如下:

重新运行一下程序,这个时候如果仍然出现上边这种情况,即unddfined step

这个情况证明我们的工程是有问题的,问题在哪里呢?

点击右上角的server,点击edit configrations

这个时候,底部有提示,glue目录需要填写相应的信息,但是我们点击后边的。。。之后发现依然是空白的,这里究竟应该填什么呢?

这里应该直接填入step_defination的目录,即你新建的java类存放的目录,我这里放在了com.cucumber 目录下,所以我直接写的是com/cucumber,程序就能够正常运行了。

正常运行截图如下

之后一步一步更改step_definatio文件,直到全部finish。

以下贡献两个自己写的案例,

这个是运行一个案例的。

Feature: Adding Test

Scenario: Test Add

Given i input "2" and "2"

When the calculator is run

Then the out put should be "4"1

2

3

4

5

6

这个是同时运行多个案例的

Feature: AddMuilty

Scenario Outline: test multy

Given i input "" and ""

When the calculator is run

Then the out put should be ""

Examples:

| input1 | input2 | result |

| 2 | 3 | 5 |

| 2 | 4 | 6 |

| 3 | 3 | 6 |1

2

3

4

5

6

7

8

9

10

11

这个是我写的step_defination文件

/**

* Created by Scott on 16/5/11.

*/

public class Add {

Calculator calculator;

@Given("^i input \"([^\"]*)\" and \"([^\"]*)\"$")

public void iInputAnd(String arg0, String arg1) throws Throwable {

// Write code here that turns the phrase above into concrete actions

calculator = new Calculator();

calculator.setNum1(Integer.parseInt(arg0));

calculator.setNum2(Integer.parseInt(arg1));

}

@When("^the calculator is run$")

public void theCalculatorIsRun() throws Throwable {

// Write code here that turns the phrase above into concrete actions

calculator.calculate();

}

@Then("^the out put should be \"([^\"]*)\"$")

public void theOutPutShouldBe(String arg0) throws Throwable {

// Write code here that turns the phrase above into concrete actions

assertEquals(Integer.parseInt(arg0),calculator.getTotle());

}

}1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

这是我写的类文件

public class Calculator {

private int num1;

private int num2;

private int totle;

public int getNum1() {

return num1;

}

public void setNum1(int num1) {

this.num1 = num1;

}

public int getNum2() {

return num2;

}

public void setNum2(int num2) {

this.num2 = num2;

}

public int getTotle() {

return num1 + num2;

}

public void calculate(){

totle = num1 + num2;

}

}1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

cucumber java 搭建_intelj idea cucumber java搭建教程相关推荐

  1. vs java调试_基于VSCode的Java编程语言的构建调试环境搭建指南(作业三)

    1.Java编译环境的搭建(CodeRunner) CodeRunner的强大之处在于它支持许多语言,只要选好语言,就直接可以写代码,即开即用的模式.时至今日,Code Runner已经有了超过400 ...

  2. Java开发和运行环境的搭建(详细教程)

    对JDK.JRE.Java 的认识 JDK 是Java Development Kit的缩写,即Java开发工具集.JDK是整个Java的核心,包括了Java运行环境(JRE).Java开发工具和Ja ...

  3. java web开发myeclipse_【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)...

    首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官网 ...

  4. cc java开发环境搭建_Windows系统下java开发环境搭建

    总的来说,开发环境是程序员工作的基础,没了他,IT工作就没得开展了.话不多说,今天提供的教程是Windows系统下Java开发环境的搭建,具体如下 1.下载并安装JDK(JAVA Developmen ...

  5. 从零开始学java 框架_从零开始学 Java - 搭建 Spring MVC 框架

    如果创建一个 Spring 项目 Spring MVC 框架在 Java 的 Web 项目中应该是无人不知的吧,你不会搭建一个 Spring 框架?作为身为一个刚刚学习Java的我都会,如果你不会的话 ...

  6. 【Java学习笔记1】Java概述 -背景+环境搭建

    文章目录 Java语言概述 Java介绍 1. 软件开发概述 2. 计算机语言 3. Java 简史 4. Java 技术体系平台 6. Java语言特点 7. Java核心机制一-Java虚拟机 8 ...

  7. Java基础第一讲:Java的故事和Java编程环境搭建

    { Android学习指南 } 适于自学的ANDORID学习指南,基于ANDROID 2.2.2.3.3及3.0版本讲解 <ANDROID学习指南>目录 RSS Java基础第一讲:Jav ...

  8. JAVA团队开发手册 - 1.环境搭建

    JAVA团队开发手册 - 1.环境搭建 写在前面 所有公司最核心的根本就是赚钱 + 实现老板的梦想. 对于IT类技术型公司,最大的成本就是人,可以称之为知识型劳动密集型企业. 对比房地产,模糊的说,产 ...

  9. 搭建我的世界java版服务器,公网远程联机【内网穿透】

    文章目录 1. 搭建我的世界服务器 1.1 服务器安装java环境 1.2 配置服务端 2. 测试局域网联机 3. 公网远程联机 3.1 安装cpolar内网穿透 3.1.1 windows系统 3. ...

最新文章

  1. ProGit-读书简记
  2. 数字图像处理:第十八章 彩色图象处理
  3. spring-在配置文件中配置DAO时直接引用DataSource
  4. c语言中输入字符用什么作用是什么意思,C语言编程问题
  5. python 分类变量xgboost_XGBoost 原理 及 常见面试题
  6. python pygame鼠标点击_pygame系列_mouse鼠标事件
  7. C++ 动态结构体数组与map
  8. php匹配ubb,php创建属于自己的UBB代码
  9. 诺基亚n1系统更新显示无网络_塞班系统曾经的希望,诺基亚 N8-00 发布十周年回顾...
  10. 啊哈c语言逻辑推箱子答案,啊哈C语言!逻辑的挑战(修订版)
  11. win10的windows聚焦锁屏界面图片在哪个文件夹的问题解决
  12. es数据定时清理_elasticsearch索引自动清理
  13. 安装idea社区版并开发JavaWeb项目
  14. 使用计算机时直接断电,电脑用着突然断电重启
  15. MAC vscode 编译多个文件失败(已解决)
  16. 在StarRocks中建立ClickHouseJDBC外表
  17. 【SLAM】SLAM如何发论文?做SLAM怎么发论文
  18. 讲解NRF24L01P无线收发模块(转载)
  19. python_discover方法遍历所有执行的用例
  20. (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133

热门文章

  1. 计算机中级职称什么时候出成绩,2021年上半年网络工程师成绩查询时间公布(7月12日),查询入口已开通!...
  2. Called attach on a child which is not detached
  3. tablepc是什么平板电脑_三星平板电脑: 到底什么是好用的二合一平板电脑?
  4. ubuntu18.04 安装网卡i219-LM驱动
  5. 【Linux】Linux下静态库(.a)和动态库(.so)的制作和使用
  6. 详解集中量数(各类平均数:平均数、几何平均数、调和平均数)
  7. Android Studio 3.3.2 正式版的安装
  8. eNsp连接AC控制器,使用环回网卡进行web访问
  9. vue实现雪花飘落特效
  10. 高通平台开发系列讲解(充电篇)充电底层驱动 power_supply 子系统