SlideShare a Scribd company logo
1 of 29
Jenkins & NodeJS
自動測試
台中大食團
毛豆 2017/01/11
特別致謝
 煒霖大大大大大
 上週陪我弄到三點,就為了建立環境
 https://codeforgeek.com/2016/04/continuous-
integration-deployment-jenkins-node-js/
 基本上我就是跟著這份做
Jenkins Sample
 Windows + Jenkins
 用 NodeJS
 執行單機程式
 執行自動排程測試
在一切開始之前
 我裝了 VM - Win7
 我裝了 Jenkins
 我裝了 NodeJS
來寫第一隻 NodeJS
一開始 - 需要安裝模組
 npm install ModuleName
 伺服器:express
 測試:supertest should mocha
 其中 mocha 要設定環境變數
 npm install –g mocha
從 NodeJS 開始寫
 待會會看到
 一個 Hello World Web Server (主程式)
 一個 UnitTest (單元測試程式)
主程式 – 咻咻咻地貼上
 命名 first.node.js
 測試一下
 > node first.node.js
主程式 – 咻咻咻地貼上
 命名 first.node.js
 測試一下
 > node first.node.js
 開瀏覽器 localhost:4000
測試程式測試程式
UnitTest – 一樣貼上
 命名 test.js
 衝啊!!
 > mocha test.js
UnitTest – 一樣貼上
 命名 test.js
 衝啊!!
 > mocha test.js
 失敗了 嗚嗚
UnitTest – 一樣貼上
 命名 test.js
 衝啊!!
 > mocha test.js
 耶!!可以了
開始跑 Jenkins
新增專案
 FreeStyle
呼叫執行以及測試腳本
腳本內容
測試測試 – 失敗…
查查錯誤
哦哦! 遇到問題了 1
 Web 啟動…但不會有結束
哦哦! 遇到問題了 1
 Web 啟動…但不會有結束
 拆開好了,手動啟動主程式
 node first.node.js
mocha test.js 改為
 mocha test.js
哦哦! 遇到問題了 1
 Web 啟動…但不會有結束
 拆開好了,手動啟動主程式
 node first.node.js
mocha test.js 改為
 mocha test.js
哦哦! 遇到問題了 2
 找不到 mocha
哦哦! 遇到問題了 2
 找不到 mocha
 修改腳本,直接呼叫 .bin
 mocha test.js 改為
 node_modules/bin/mocha
test.js
哦哦哦哦,總算成功了
再次致謝
 我只是和煒霖大大聊兩句
問題就解惹!!
 感恩煒霖大大
 讚嘆煒霖大大
END

More Related Content

What's hot

twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署twMVC
 
北護樂學程式冬令營 2017
北護樂學程式冬令營 2017北護樂學程式冬令營 2017
北護樂學程式冬令營 2017Hamilton Wong
 
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發Fred Chien
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC
 
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with WebpackSITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack昱安 周
 
Getting started with TDD
Getting started with TDDGetting started with TDD
Getting started with TDDIvan Wei
 
Npm node.js的套件管理程式
Npm node.js的套件管理程式Npm node.js的套件管理程式
Npm node.js的套件管理程式Chuyi Huang
 
@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azureBruce Chen
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC
 
超级入门:JAVA从零开始到HelloWorld
超级入门:JAVA从零开始到HelloWorld超级入门:JAVA从零开始到HelloWorld
超级入门:JAVA从零开始到HelloWorldwensheng wei
 
Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)beehivedata
 
React.js what do you really mean?
React.js what do you really mean?React.js what do you really mean?
React.js what do you really mean?昱安 周
 
前端技术优化之Java Script篇
前端技术优化之Java Script篇前端技术优化之Java Script篇
前端技术优化之Java Script篇fengxiaoqiang
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作Philip Zheng
 
人人网开发一站式体验
人人网开发一站式体验人人网开发一站式体验
人人网开发一站式体验zhen chen
 
webpack 入門
webpack 入門webpack 入門
webpack 入門Anna Su
 
Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Yong Luo
 
Vic weekly learning_20160504
Vic weekly learning_20160504Vic weekly learning_20160504
Vic weekly learning_20160504LearningTech
 
junit单元测试实例教程
junit单元测试实例教程junit单元测试实例教程
junit单元测试实例教程Giovanni Wu
 

What's hot (20)

twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署twMVC#33玩轉 Azure 彈性部署
twMVC#33玩轉 Azure 彈性部署
 
北護樂學程式冬令營 2017
北護樂學程式冬令營 2017北護樂學程式冬令營 2017
北護樂學程式冬令營 2017
 
Node.js 進攻桌面開發
Node.js 進攻桌面開發Node.js 進攻桌面開發
Node.js 進攻桌面開發
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
SITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with WebpackSITCON 2016 ─ Modern Front-End Workflow with Webpack
SITCON 2016 ─ Modern Front-End Workflow with Webpack
 
Getting started with TDD
Getting started with TDDGetting started with TDD
Getting started with TDD
 
Npm node.js的套件管理程式
Npm node.js的套件管理程式Npm node.js的套件管理程式
Npm node.js的套件管理程式
 
@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure
 
twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢twMVC#31網站上線了然後呢
twMVC#31網站上線了然後呢
 
超级入门:JAVA从零开始到HelloWorld
超级入门:JAVA从零开始到HelloWorld超级入门:JAVA从零开始到HelloWorld
超级入门:JAVA从零开始到HelloWorld
 
Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)Honey's Data Dinner#7 webpack 包達人(入門)
Honey's Data Dinner#7 webpack 包達人(入門)
 
React.js what do you really mean?
React.js what do you really mean?React.js what do you really mean?
React.js what do you really mean?
 
前端技术优化之Java Script篇
前端技术优化之Java Script篇前端技术优化之Java Script篇
前端技术优化之Java Script篇
 
用Vue改dom
用Vue改dom用Vue改dom
用Vue改dom
 
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
 
人人网开发一站式体验
人人网开发一站式体验人人网开发一站式体验
人人网开发一站式体验
 
webpack 入門
webpack 入門webpack 入門
webpack 入門
 
Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战
 
Vic weekly learning_20160504
Vic weekly learning_20160504Vic weekly learning_20160504
Vic weekly learning_20160504
 
junit单元测试实例教程
junit单元测试实例教程junit单元测试实例教程
junit单元测试实例教程
 

Similar to Jenkins 自動測試 (使用 NodeJS)

Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Gelis Wu
 
Nodejs api server_implement
Nodejs api server_implementNodejs api server_implement
Nodejs api server_implementChi-wen Sun
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
前端框架發展
 前端框架發展 前端框架發展
前端框架發展Chi-wen Sun
 
Nae client(using Node.js to create shell cmd)
Nae client(using Node.js to create shell cmd)Nae client(using Node.js to create shell cmd)
Nae client(using Node.js to create shell cmd)fisher zheng
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索Will Huang
 
快速打包工具Quick build
快速打包工具Quick build快速打包工具Quick build
快速打包工具Quick buildtb-vertical-guide
 
twMVC#12 | 如何在實務上使用 TDD 來開發
twMVC#12 | 如何在實務上使用 TDD 來開發twMVC#12 | 如何在實務上使用 TDD 來開發
twMVC#12 | 如何在實務上使用 TDD 來開發twMVC
 
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Eric Xiao
 
快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架Will Huang
 
React Native + Redux
React Native + ReduxReact Native + Redux
React Native + ReduxCh Rick
 
Lab01 cloud project
Lab01 cloud projectLab01 cloud project
Lab01 cloud projectJeff Chu
 
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkitLainZQ
 
如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12twMVC
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训Cody Zhang
 
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》鍾誠 陳鍾誠
 
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)Will Huang
 
JS单元测试之路
JS单元测试之路JS单元测试之路
JS单元测试之路Jeaf Wang
 

Similar to Jenkins 自動測試 (使用 NodeJS) (20)

All about NodeJS
All about NodeJSAll about NodeJS
All about NodeJS
 
Asp.net 5 新功能與變革
Asp.net 5 新功能與變革Asp.net 5 新功能與變革
Asp.net 5 新功能與變革
 
Nodejs api server_implement
Nodejs api server_implementNodejs api server_implement
Nodejs api server_implement
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
 
前端框架發展
 前端框架發展 前端框架發展
前端框架發展
 
Nae client(using Node.js to create shell cmd)
Nae client(using Node.js to create shell cmd)Nae client(using Node.js to create shell cmd)
Nae client(using Node.js to create shell cmd)
 
twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有twMVC#02 | ASP.NET MVC 從無到有
twMVC#02 | ASP.NET MVC 從無到有
 
ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索ASP.NET MVC 6 新功能探索
ASP.NET MVC 6 新功能探索
 
快速打包工具Quick build
快速打包工具Quick build快速打包工具Quick build
快速打包工具Quick build
 
twMVC#12 | 如何在實務上使用 TDD 來開發
twMVC#12 | 如何在實務上使用 TDD 來開發twMVC#12 | 如何在實務上使用 TDD 來開發
twMVC#12 | 如何在實務上使用 TDD 來開發
 
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
 
快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架快快樂樂學 Angular 2 開發框架
快快樂樂學 Angular 2 開發框架
 
React Native + Redux
React Native + ReduxReact Native + Redux
React Native + Redux
 
Lab01 cloud project
Lab01 cloud projectLab01 cloud project
Lab01 cloud project
 
这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit这年头,你只需要懂Node webkit
这年头,你只需要懂Node webkit
 
如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12如何在實務上使用TDD來開發 twmvc#12
如何在實務上使用TDD來開發 twmvc#12
 
Maven初级培训
Maven初级培训Maven初级培训
Maven初级培训
 
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
用十分鐘瞭解JavaScript的模組 -- 《還有關於npm套件管理的那些事情》
 
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
 
JS单元测试之路
JS单元测试之路JS单元测试之路
JS单元测试之路
 

Jenkins 自動測試 (使用 NodeJS)