cucumber java 搭建_intelj idea cucumber java搭建教程
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搭建教程相关推荐
- vs java调试_基于VSCode的Java编程语言的构建调试环境搭建指南(作业三)
1.Java编译环境的搭建(CodeRunner) CodeRunner的强大之处在于它支持许多语言,只要选好语言,就直接可以写代码,即开即用的模式.时至今日,Code Runner已经有了超过400 ...
- Java开发和运行环境的搭建(详细教程)
对JDK.JRE.Java 的认识 JDK 是Java Development Kit的缩写,即Java开发工具集.JDK是整个Java的核心,包括了Java运行环境(JRE).Java开发工具和Ja ...
- java web开发myeclipse_【java项目实战】一步步教你使用MyEclipse搭建java Web项目开发环境(一)...
首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成,只要在安装配置成功之后才可以进入下面的java Web项目开发环境的搭建. 1.安装工具 第一步,下载并安装JDK,到官网 ...
- cc java开发环境搭建_Windows系统下java开发环境搭建
总的来说,开发环境是程序员工作的基础,没了他,IT工作就没得开展了.话不多说,今天提供的教程是Windows系统下Java开发环境的搭建,具体如下 1.下载并安装JDK(JAVA Developmen ...
- 从零开始学java 框架_从零开始学 Java - 搭建 Spring MVC 框架
如果创建一个 Spring 项目 Spring MVC 框架在 Java 的 Web 项目中应该是无人不知的吧,你不会搭建一个 Spring 框架?作为身为一个刚刚学习Java的我都会,如果你不会的话 ...
- 【Java学习笔记1】Java概述 -背景+环境搭建
文章目录 Java语言概述 Java介绍 1. 软件开发概述 2. 计算机语言 3. Java 简史 4. Java 技术体系平台 6. Java语言特点 7. Java核心机制一-Java虚拟机 8 ...
- Java基础第一讲:Java的故事和Java编程环境搭建
{ Android学习指南 } 适于自学的ANDORID学习指南,基于ANDROID 2.2.2.3.3及3.0版本讲解 <ANDROID学习指南>目录 RSS Java基础第一讲:Jav ...
- JAVA团队开发手册 - 1.环境搭建
JAVA团队开发手册 - 1.环境搭建 写在前面 所有公司最核心的根本就是赚钱 + 实现老板的梦想. 对于IT类技术型公司,最大的成本就是人,可以称之为知识型劳动密集型企业. 对比房地产,模糊的说,产 ...
- 搭建我的世界java版服务器,公网远程联机【内网穿透】
文章目录 1. 搭建我的世界服务器 1.1 服务器安装java环境 1.2 配置服务端 2. 测试局域网联机 3. 公网远程联机 3.1 安装cpolar内网穿透 3.1.1 windows系统 3. ...
最新文章
- ProGit-读书简记
- 数字图像处理:第十八章 彩色图象处理
- spring-在配置文件中配置DAO时直接引用DataSource
- c语言中输入字符用什么作用是什么意思,C语言编程问题
- python 分类变量xgboost_XGBoost 原理 及 常见面试题
- python pygame鼠标点击_pygame系列_mouse鼠标事件
- C++ 动态结构体数组与map
- php匹配ubb,php创建属于自己的UBB代码
- 诺基亚n1系统更新显示无网络_塞班系统曾经的希望,诺基亚 N8-00 发布十周年回顾...
- 啊哈c语言逻辑推箱子答案,啊哈C语言!逻辑的挑战(修订版)
- win10的windows聚焦锁屏界面图片在哪个文件夹的问题解决
- es数据定时清理_elasticsearch索引自动清理
- 安装idea社区版并开发JavaWeb项目
- 使用计算机时直接断电,电脑用着突然断电重启
- MAC vscode 编译多个文件失败(已解决)
- 在StarRocks中建立ClickHouseJDBC外表
- 【SLAM】SLAM如何发论文?做SLAM怎么发论文
- 讲解NRF24L01P无线收发模块(转载)
- python_discover方法遍历所有执行的用例
- (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
热门文章
- 计算机中级职称什么时候出成绩,2021年上半年网络工程师成绩查询时间公布(7月12日),查询入口已开通!...
- Called attach on a child which is not detached
- tablepc是什么平板电脑_三星平板电脑: 到底什么是好用的二合一平板电脑?
- ubuntu18.04 安装网卡i219-LM驱动
- 【Linux】Linux下静态库(.a)和动态库(.so)的制作和使用
- 详解集中量数(各类平均数:平均数、几何平均数、调和平均数)
- Android Studio 3.3.2 正式版的安装
- eNsp连接AC控制器,使用环回网卡进行web访问
- vue实现雪花飘落特效
- 高通平台开发系列讲解(充电篇)充电底层驱动 power_supply 子系统