Driving development with BDD
Me : Roman Landenband
BDD enthusiast, a craftsman

(press down....)

(press down....)

(press down....)

(press down....)

(press down....)

(press down....)
Everywhere really!
Two common formats:
(press down....)
(press down....)
//=== Sorter.js
var MergeSort = require("MergeSort");
var Sorter = {
"sort" : function(inArray){
return MergeSort.sort(inArray);
}
}
//=== SorterSpec.js
var Sorter = require("./Sorter")
// As a code user, I will have a generic Sorting API
describe("Sorting"){
it("simply returns a sorted array"){
var provided = [1,2,3,4,5];
expect( Sorter.sort(provided) ).toEqual( provided )
// replace QuickSort
}
it("sorts a reverse unsorted array"){
expect(Sorter.sort([5,4,3,2,1])).toEqual([1,2,3,4,5])
}
}
Just in - we need a space conserving algorithm!
We will be using the QuickSort algorithm instead
//=== Sorter.js
var QuickSort = require("QuickSort");
var Sorter = {
"sort" : function(inArray){
return MergeSort.sort(inArray);
}
}
//=== SorterSpec.js
var Sorter = require("./Sorter")
// As a code user, I will have a generic Sorting API
describe("Sorting"){
it("simply returns a sorted array"){
var provided = [1,2,3,4,5];
expect( Sorter.sort(provided) ).toEqual( provided )
// replace QuickSort
}
it("sorts a reverse unsorted array"){
expect(Sorter.sort([5,4,3,2,1])).toEqual([1,2,3,4,5])
}
}
var PsuedoMocker = require("PsuedoMocker")
var Networking = require("./NetworkingSorter")
var Scraper = require("./Scraper")
// As a code user, I will have a generic Sorting API
describe("Scraper"){
it("fetches something from the web"){
var someContent = "aaaa"
var mockedNetwork = Mocker.mock(Networking);
mockedNetwork.overide("get", function(){
return someContent
})
var scraper = new Scraper(mockedNetwork)
expect( scraper.scrapeByClass("http://somewhere.com","something") ).toEqual("aaaa");
}
}
Have you starting writing BDD after my talk? Have more questions? let me know!
shoot me an e-mail