TDD

技術標準 TDD vs BDD (1)

基本介紹

教學目標

初步了解 TDD 和 BDD 兩者主要的五大重點差別。

重點概念

TDD BDD
Test-driven development Behavior-driven development
Verification (Are we doing the thing right?) Validation (Are we doing the right thing?)
Unit Test Acceptance Test
White Test Black Test
Developer QA Tester

相關資源

Node.js 測試處理 (1)

基本介紹

教學目標

透過 Mocha 套件進行 Node.js 程式碼的單元測試。

套件安裝

1
2
3
$ npm install mocha -g
$ npm install should --save
$ npm install assert --save

使用教學

準備程式

撰寫簡單的 echo 程式,輸入訊息會回傳訊息本身。

echo.js

1
2
3
4
function print(message){
return message;
}
exports.print = print;

BDD (Behavior Driven Development)

建立 BDD 單元測試專用的程式。

test.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var should = require('should');
var echo = require('./echo');

describe('測試標題', function(){
before(function(){
// 任何需要在測試前執行的程式
});
after(function(){
// 任何需要在測試後刪除的資料
});
describe('測試子標題', function(){
it('測試內容', function(){
echo.print('訊息').should.equal('訊息');
});
});
});

開啟進行 BDD 單元測試。

1
$ mocha test.js

TDD (Test Driven Development)

建立 TDD 單元測試專用的程式。

test.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var assert = require('assert');
var echo = require('./echo');

suite('測試標題', function(){
setup(function(){
// 任何需要在測試前執行的程式
});
teardown(function(){
// 任何需要在測試後刪除的資料
});
suite('測試子標題', function(){
test('測試內容', function(){
assert.equal('訊息', echo.print('訊息'));
});
});
});

開啟進行 TDD 單元測試。

1
$ mocha -u tdd test.js

取得測試規格報告

1
$ mocha test.js -R spec

相關資源