cucumber_java從入門到精通(5)使用maven創建cucumber_java項目


cucumber java從入門到精通(5)使用maven創建cucumber java項目

前幾節我們已經在感性上認識了cucumber的基本功能以及BDD測試的基本流程,我們漸進重構,一步一步的向目標逼近。這些實踐都是小而美的,但美中不足的是我們在項目工程化上進展緩慢。

目前我們的項目在工程化上存在下面的一些問題:

  • 依賴包管理:我們的依賴包管理非常的原生態。如果cucumber java升級或其他依賴組件升級,我們遇到的麻煩是可以預計的;
  • 構建系統:我們的構建系統還處於刀耕火種的時代,只靠bat腳本很顯然經不起復雜長期項目的反復折騰;
  • IDE:我們目前使用的僅僅是純文本編輯器,盡管沒什么不好的,但是使用IDE對於初學者來說還是有好處的。當然如果你是熟練的大神級人物,用notepad去寫java也未嘗不可;

解決工程化問題

下面我們來研究一下改進工程化問題的一些解決方案,這就是所謂的技術預研。

  • 使用maven來解決我們的依賴包管理及構建問題;
  • 使用eclipse作為我們的java IDE;

下載eclipse及配置

這里下載eclipse,注意32位版本和64位版本的區別;

下載安裝完成后,安裝eclipse+maven的插件M2Eclipse。安裝過程如下:

先點擊菜單里的Help-Istall Software

在彈出窗口的work with里輸入http://download.eclipse.org/technology/m2e/releases,然后按照下圖的指示來

一直下一步之后,m2eclipse就應該安裝成功了。

新建maven項目

選擇File-New-Other,如下圖所示

然后選Maven Project,點擊Next

然后直接Next

然后Group Id填寫info.itestArtifact Idtodo_list。點擊Finish

然后雙擊打開pom.xml文件

進入編輯狀態,如下圖所示

把pom.xml替換為下面的代碼

<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>info.iest</groupId>
	<artifactId>todo_list</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>todo_list</name>
	<url>http://maven.apache.org</url>

	<properties>
		<cucumber.version>1.2.4</cucumber.version>
		<junit.version>4.12</junit.version>
		<java.version>1.8</java.version>
		<maven.compiler.version>3.3</maven.compiler.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>info.cukes</groupId>
			<artifactId>cucumber-java</artifactId>
			<version>${cucumber.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>info.cukes</groupId>
			<artifactId>cucumber-junit</artifactId>
			<version>${cucumber.version}</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit.version}</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${maven.compiler.version}</version>
				<configuration>
					<encoding>UTF-8</encoding>
					<source>${java.version}</source>
					<target>${java.version}</target>
					<compilerArgument>-Werror</compilerArgument>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

注意:這里的java.version請替換成你相應的java版本

配置及運行cucumber

打開AppTest.java文件,將其替換為以下的代碼

package info.iest.todo_list;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
@CucumberOptions(plugin={"pretty"}, features={"src/test/features"})

public class AppTest {
	
}

  

 

  1. 然后在test文件夾下創建features文件夾,並創建todo.feature文件,如下圖所示

編輯todo.feature文件,輸入下面的內容

#language: zh-CN

功能:任務管理

    場景大綱: 完成任務
        假設 我的任務清單里有<total>個任務
        當 我完成<finished>件任務之后
        那么 我還剩下<left>件未完成的任務
        
        例子:
        | total | finished | left |
        |   3   |    1     |   2  |
        |   5   |    1     |   4  |

  

  1. 沒啥新鮮的,就是我們上節所重構的代碼。

然后在Package Explorer中右鍵點擊todo_list,選擇Run As-Maven Test,如下圖所示

運行完成后,結果應該是如下圖所示

到目前為止,我們已經用maven配置好了cucumber的開發環境,並完成了smoke test。下一節我們會把前幾節實現的TodoList移植到這個maven項目






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM