Submit Search
Upload
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
•
54 likes
•
3,762 views
謝 宗穎
Follow
說明 TDD 的重要性,為什麼需要,並且以 Node.js 為例進行說明
Read less
Read more
Internet
Report
Share
Report
Share
1 of 58
Download now
Download to read offline
Recommended
中華電信 教育訓練
中華電信 教育訓練
謝 宗穎
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
謝 宗穎
DevOps 及 TDD 開發流程哲學
DevOps 及 TDD 開發流程哲學
謝 宗穎
JCConf 2015 workshop 動手玩 Java 專案建置工具
JCConf 2015 workshop 動手玩 Java 專案建置工具
謝 宗穎
Евгений Жарков "React Native: Hurdle Race"
Евгений Жарков "React Native: Hurdle Race"
Fwdays
Automated android testing using jenkins ci
Automated android testing using jenkins ci
sveinungkb
Graphql usage
Graphql usage
Valentin Buryakov
Jenkins presentation
Jenkins presentation
Valentin Buryakov
Recommended
中華電信 教育訓練
中華電信 教育訓練
謝 宗穎
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
謝 宗穎
DevOps 及 TDD 開發流程哲學
DevOps 及 TDD 開發流程哲學
謝 宗穎
JCConf 2015 workshop 動手玩 Java 專案建置工具
JCConf 2015 workshop 動手玩 Java 專案建置工具
謝 宗穎
Евгений Жарков "React Native: Hurdle Race"
Евгений Жарков "React Native: Hurdle Race"
Fwdays
Automated android testing using jenkins ci
Automated android testing using jenkins ci
sveinungkb
Graphql usage
Graphql usage
Valentin Buryakov
Jenkins presentation
Jenkins presentation
Valentin Buryakov
Report portal
Report portal
COMAQA.BY
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Fwdays
Testing as a container
Testing as a container
Irfan Ahmad
Drupal contrib module maintaining
Drupal contrib module maintaining
Andrii Podanenko
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
Test Girls
Супер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOS
SQALab
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
Gavin Pickin
Docker for Integration Testing
Docker for Integration Testing
Wouter Danes
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
Fwdays
Grooving with Jenkins
Grooving with Jenkins
Anton Weiss
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
Chad Woolley
Dockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber Example
Shashikant Jagtap
Docker Best Practices Workshop
Docker Best Practices Workshop
Ahmed AbouZaid
MoldCamp - multidimentional testing workflow. CIBox.
MoldCamp - multidimentional testing workflow. CIBox.
Andrii Podanenko
Capybara testing
Capybara testing
Futureworkz
Automate Thyself
Automate Thyself
Ortus Solutions, Corp
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
Shivam Bharadwaj
Automated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and Selenium
Dev9Com
Unit testing with Spock Framework
Unit testing with Spock Framework
Eugene Dvorkin
Quick tour to front end unit testing using jasmine
Quick tour to front end unit testing using jasmine
Gil Fink
More Related Content
What's hot
Report portal
Report portal
COMAQA.BY
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Fwdays
Testing as a container
Testing as a container
Irfan Ahmad
Drupal contrib module maintaining
Drupal contrib module maintaining
Andrii Podanenko
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
Test Girls
Супер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOS
SQALab
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
Gavin Pickin
Docker for Integration Testing
Docker for Integration Testing
Wouter Danes
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
Fwdays
Grooving with Jenkins
Grooving with Jenkins
Anton Weiss
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
Chad Woolley
Dockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber Example
Shashikant Jagtap
Docker Best Practices Workshop
Docker Best Practices Workshop
Ahmed AbouZaid
MoldCamp - multidimentional testing workflow. CIBox.
MoldCamp - multidimentional testing workflow. CIBox.
Andrii Podanenko
Capybara testing
Capybara testing
Futureworkz
Automate Thyself
Automate Thyself
Ortus Solutions, Corp
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
Shivam Bharadwaj
Automated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and Selenium
Dev9Com
What's hot
(20)
Report portal
Report portal
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Testing as a container
Testing as a container
Drupal contrib module maintaining
Drupal contrib module maintaining
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
Супер быстрая автоматизация тестирования на iOS
Супер быстрая автоматизация тестирования на iOS
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
How do I write Testable Javascript - Presented at dev.Objective() June 16, 2016
Docker for Integration Testing
Docker for Integration Testing
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
Grooving with Jenkins
Grooving with Jenkins
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
Dockerizing BDD : Ruby-Cucumber Example
Dockerizing BDD : Ruby-Cucumber Example
Docker Best Practices Workshop
Docker Best Practices Workshop
MoldCamp - multidimentional testing workflow. CIBox.
MoldCamp - multidimentional testing workflow. CIBox.
Capybara testing
Capybara testing
Automate Thyself
Automate Thyself
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
Automated Testing with Cucumber, PhantomJS and Selenium
Automated Testing with Cucumber, PhantomJS and Selenium
Similar to JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
Unit testing with Spock Framework
Unit testing with Spock Framework
Eugene Dvorkin
Quick tour to front end unit testing using jasmine
Quick tour to front end unit testing using jasmine
Gil Fink
Renaissance of JUnit - Introduction to JUnit 5
Renaissance of JUnit - Introduction to JUnit 5
Jimmy Lu
Java 201 Intro to Test Driven Development in Java
Java 201 Intro to Test Driven Development in Java
agorolabs
Continuous Testing
Continuous Testing
jaredrrichardson
Unit testing on mobile apps
Unit testing on mobile apps
Buşra Deniz, CSM
introduction to node.js
introduction to node.js
orkaplan
Node.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.js
kiyanwang
Zend framework: Getting to grips (ZF1)
Zend framework: Getting to grips (ZF1)
Ryan Mauger
JCD 2013 OCM Java Developer
JCD 2013 OCM Java Developer
益裕 張
OCM Java 開發人員認證與設計模式
OCM Java 開發人員認證與設計模式
CodeData
Das Frontend richtig Testen – mit Jest @Developer Week 2018
Das Frontend richtig Testen – mit Jest @Developer Week 2018
Holger Grosse-Plankermann
Jest: Frontend Testing leicht gemacht @EnterJS2018
Jest: Frontend Testing leicht gemacht @EnterJS2018
Holger Grosse-Plankermann
React inter3
React inter3
Oswald Campesato
Certifications Java
Certifications Java
Yannick Chartois
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014
Stephen de Vries
Test Driven Development with JavaFX
Test Driven Development with JavaFX
Hendrik Ebbers
unit test in node js - test cases in node
unit test in node js - test cases in node
Goa App
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
Jesse Gallagher
Continuous feature-development
Continuous feature-development
nhm taveer hossain khan
Similar to JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
(20)
Unit testing with Spock Framework
Unit testing with Spock Framework
Quick tour to front end unit testing using jasmine
Quick tour to front end unit testing using jasmine
Renaissance of JUnit - Introduction to JUnit 5
Renaissance of JUnit - Introduction to JUnit 5
Java 201 Intro to Test Driven Development in Java
Java 201 Intro to Test Driven Development in Java
Continuous Testing
Continuous Testing
Unit testing on mobile apps
Unit testing on mobile apps
introduction to node.js
introduction to node.js
Node.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.js
Zend framework: Getting to grips (ZF1)
Zend framework: Getting to grips (ZF1)
JCD 2013 OCM Java Developer
JCD 2013 OCM Java Developer
OCM Java 開發人員認證與設計模式
OCM Java 開發人員認證與設計模式
Das Frontend richtig Testen – mit Jest @Developer Week 2018
Das Frontend richtig Testen – mit Jest @Developer Week 2018
Jest: Frontend Testing leicht gemacht @EnterJS2018
Jest: Frontend Testing leicht gemacht @EnterJS2018
React inter3
React inter3
Certifications Java
Certifications Java
Continuous Security Testing with Devops - OWASP EU 2014
Continuous Security Testing with Devops - OWASP EU 2014
Test Driven Development with JavaFX
Test Driven Development with JavaFX
unit test in node js - test cases in node
unit test in node js - test cases in node
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
Continuous feature-development
Continuous feature-development
Recently uploaded
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
aditipandeya
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
stephieert
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
APNIC
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
APNIC
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
soniya singh
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
James Anderson
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
APNIC
horny (9316020077 ) Goa Call Girls Service by VIP Call Girls in Goa
horny (9316020077 ) Goa Call Girls Service by VIP Call Girls in Goa
sexy call girls service in goa
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Delhi Call girls
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
sonalikaur4
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Damian Radcliffe
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
gwenoracqe6
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
soniya singh
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
dollysharma2066
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
ruhi
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
shivangimorya083
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
Call Girls Mumbai
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
Recently uploaded
(20)
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
VIP 7001035870 Find & Meet Hyderabad Call Girls Dilsukhnagar high-profile Cal...
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
horny (9316020077 ) Goa Call Girls Service by VIP Call Girls in Goa
horny (9316020077 ) Goa Call Girls Service by VIP Call Girls in Goa
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Rohini 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
✂️ 👅 Independent Andheri Escorts With Room Vashi Call Girls 💃 9004004663
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In Noida 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
1.
TDD Node.js
2.
SPOOKY Programmer DevOps Team Leader Java 6
years Javascript 1.5 years smlsun@facebook trunk-studio.com blog.trunk-studio.com
3.
• Why we
needTDD • How to startTDD • Conclusion OUTLINE
4.
TDD
5.
• Programmer • •
6.
• DevOps • • •
7.
• Team Leader •
Member • Member • • Member
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
TEST
18.
19.
20.
DeveloperQA
21.
TEST SPEC
22.
/
23.
24.
25.
26.
FAIL Edge of Tomorrow
27.
LEAN & AGILE • • • •
28.
...
29.
TDD TEST CODE
30.
TDD
31.
32.
XTEST vs OTEST -4 -2 -60
33.
34.
TDD NODEJS
35.
Package Library Application Server
36.
LOGIN • 3 step
Login
37.
INITIAL
38.
var liftApp =
async () => { await models.sequelize.sync({ force: config.connection.force }); await bootstrap(); app.listen(config.port); return app; } if (env !== 'test') liftApp(); module.exports = liftApp import chai from 'chai'; import request from 'supertest'; import sinon from 'sinon'; import liftApp from '../../server'; chai.should(); global.sinon = sinon; before(async (done) => { let app = await liftApp(); global.app = app; global.request = request.agent(app.listen()); done(); }); AP start test framework start
39.
SPECdescribe('auth login spec',
() => { before(async (done) => { let testUser = {'username': 'test', 'password': 'test'} await models.User.create(testUser); done(); }); it('login should be success.', async (done) => { let loginUserFormData = { 'username': ‘test', 'password': ‘test' }; request.post(‘/auth/login') .send(loginUserFormData).expect(200) .end((error, res) => { if (error) done(error); let loginResult = res.body; loginResult.success.should.be.true; done(); }) }
40.
• Mocha test
framework • Supertest API • Should or Chai spec
41.
MOCK EX
42.
API OR
43.
• sinon Mock Source
code Mock code
44.
Spec SPEC SA/SD
45.
/ SPEC
46.
CI / CD
47.
48.
49.
50.
51.
52.
53.
– “ ”
54.
55.
• • • • • from Clean
Code
56.
TDD
57.
THANKS!
58.
• http://qualitycoding.org/tdd-testimonial/ • http://gamesfromwithin.com/backwards-is-forward- making-better-games-with-test-driven-development •
http://punnode.com/archives/18016 • http://teddy-chen-tw.blogspot.tw/2014/09/blog- post_22.html
Download now