Submit Search
Upload
An Example-Driven API Tester
•
4 likes
•
640 views
Li Lin
Follow
https://github.com/allenlinli/ALmakeAPITester
Read less
Read more
Technology
Report
Share
Report
Share
1 of 10
Download now
Download to read offline
Recommended
Sql server baselines
Sql server baselines
Mike Walsh
Cucumber
Cucumber
Michael MacDonald
Reason React
Reason React
Arnar Þór Sveinsson
CoffeeScript in hootsuite
CoffeeScript in hootsuite
ujihisa
Ansible API
Ansible API
tylerturk
Next generation frontend tooling
Next generation frontend tooling
pksjce
Behaviour driven development present
Behaviour driven development present
Raul Panjiyar
JavaScript Build System Battle Royale | PrDC 2017
JavaScript Build System Battle Royale | PrDC 2017
David Wesst
Recommended
Sql server baselines
Sql server baselines
Mike Walsh
Cucumber
Cucumber
Michael MacDonald
Reason React
Reason React
Arnar Þór Sveinsson
CoffeeScript in hootsuite
CoffeeScript in hootsuite
ujihisa
Ansible API
Ansible API
tylerturk
Next generation frontend tooling
Next generation frontend tooling
pksjce
Behaviour driven development present
Behaviour driven development present
Raul Panjiyar
JavaScript Build System Battle Royale | PrDC 2017
JavaScript Build System Battle Royale | PrDC 2017
David Wesst
Unit Testing in JavaScript
Unit Testing in JavaScript
Rob Scaduto
Jazoon2013 type script
Jazoon2013 type script
Oliver Zeigermann
J-Spring 2018 - Angular for Java developers
J-Spring 2018 - Angular for Java developers
Bert Jan Schrijver
OpenValue meetup July 2018 - Angular for Java developers
OpenValue meetup July 2018 - Angular for Java developers
Bert Jan Schrijver
Code Nomads meetup June 2018 - Angular for Java developers
Code Nomads meetup June 2018 - Angular for Java developers
Bert Jan Schrijver
Concurrency programming
Concurrency programming
Keesun Baik
PureScript Tutorial 1
PureScript Tutorial 1
Ray Shih
Refactoring Workshop (Rails Pacific 2014)
Refactoring Workshop (Rails Pacific 2014)
Bruce Li
Let's Lean and Implement flux
Let's Lean and Implement flux
大樹 小倉
Functional Programming in PHP
Functional Programming in PHP
Aurimas Niekis
Reef: AJAX the way it should be 
Reef: AJAX the way it should be 
ESUG
Tweakers Developers Summit 2019 - Angular for backend developers
Tweakers Developers Summit 2019 - Angular for backend developers
Bert Jan Schrijver
Multiple Connectivity Framework Keynote
Multiple Connectivity Framework Keynote
Li Lin
Mind Map
Mind Map
Li Lin
Autolayout keynote
Autolayout keynote
Li Lin
Gcd and concurrency programming
Gcd and concurrency programming
Li Lin
Core Bluetooth and BLE 101
Core Bluetooth and BLE 101
Li Lin
How mobile marketing can bring you more business
How mobile marketing can bring you more business
successenter
SugarCRM for Mac Users
SugarCRM for Mac Users
BrainSell Technologies
Audiência por Day Parts | Crianças e Adolescentes
Audiência por Day Parts | Crianças e Adolescentes
Michelle Sesterrem
Dijital İndeks-2015
Dijital İndeks-2015
Mustafa Kuğu
Distance learning presentation_hite
Distance learning presentation_hite
Katy Hite
More Related Content
What's hot
Unit Testing in JavaScript
Unit Testing in JavaScript
Rob Scaduto
Jazoon2013 type script
Jazoon2013 type script
Oliver Zeigermann
J-Spring 2018 - Angular for Java developers
J-Spring 2018 - Angular for Java developers
Bert Jan Schrijver
OpenValue meetup July 2018 - Angular for Java developers
OpenValue meetup July 2018 - Angular for Java developers
Bert Jan Schrijver
Code Nomads meetup June 2018 - Angular for Java developers
Code Nomads meetup June 2018 - Angular for Java developers
Bert Jan Schrijver
Concurrency programming
Concurrency programming
Keesun Baik
PureScript Tutorial 1
PureScript Tutorial 1
Ray Shih
Refactoring Workshop (Rails Pacific 2014)
Refactoring Workshop (Rails Pacific 2014)
Bruce Li
Let's Lean and Implement flux
Let's Lean and Implement flux
大樹 小倉
Functional Programming in PHP
Functional Programming in PHP
Aurimas Niekis
Reef: AJAX the way it should be 
Reef: AJAX the way it should be 
ESUG
Tweakers Developers Summit 2019 - Angular for backend developers
Tweakers Developers Summit 2019 - Angular for backend developers
Bert Jan Schrijver
What's hot
(12)
Unit Testing in JavaScript
Unit Testing in JavaScript
Jazoon2013 type script
Jazoon2013 type script
J-Spring 2018 - Angular for Java developers
J-Spring 2018 - Angular for Java developers
OpenValue meetup July 2018 - Angular for Java developers
OpenValue meetup July 2018 - Angular for Java developers
Code Nomads meetup June 2018 - Angular for Java developers
Code Nomads meetup June 2018 - Angular for Java developers
Concurrency programming
Concurrency programming
PureScript Tutorial 1
PureScript Tutorial 1
Refactoring Workshop (Rails Pacific 2014)
Refactoring Workshop (Rails Pacific 2014)
Let's Lean and Implement flux
Let's Lean and Implement flux
Functional Programming in PHP
Functional Programming in PHP
Reef: AJAX the way it should be 
Reef: AJAX the way it should be 
Tweakers Developers Summit 2019 - Angular for backend developers
Tweakers Developers Summit 2019 - Angular for backend developers
Viewers also liked
Multiple Connectivity Framework Keynote
Multiple Connectivity Framework Keynote
Li Lin
Mind Map
Mind Map
Li Lin
Autolayout keynote
Autolayout keynote
Li Lin
Gcd and concurrency programming
Gcd and concurrency programming
Li Lin
Core Bluetooth and BLE 101
Core Bluetooth and BLE 101
Li Lin
How mobile marketing can bring you more business
How mobile marketing can bring you more business
successenter
SugarCRM for Mac Users
SugarCRM for Mac Users
BrainSell Technologies
Audiência por Day Parts | Crianças e Adolescentes
Audiência por Day Parts | Crianças e Adolescentes
Michelle Sesterrem
Dijital İndeks-2015
Dijital İndeks-2015
Mustafa Kuğu
Distance learning presentation_hite
Distance learning presentation_hite
Katy Hite
Social Media Warren Knight Digital Bootcamp April 2012
Social Media Warren Knight Digital Bootcamp April 2012
CIM East of England
Regulament concurs 2012 jud partenere
Regulament concurs 2012 jud partenere
Gheorghitoiumaria
学生に向けてのメッセージ
学生に向けてのメッセージ
Shinya Kagebayashi
Heros of islam
Heros of islam
Motasem Ash
2009.10.05 --e marketer---marketing-to-online-video-audience
2009.10.05 --e marketer---marketing-to-online-video-audience
Pietro Lambert
Relational data as_xml
Relational data as_xml
Harshavardhan Achrekar
Antalya
Antalya
yuceltuzun
Turist în orașul meu craiova
Turist în orașul meu craiova
Gheorghitoiumaria
Kleer - Agile Testing - Especificaciones por medio de Ejemplos usando Fitnesse
Kleer - Agile Testing - Especificaciones por medio de Ejemplos usando Fitnesse
Kleer Agile Coaching & Training
Improving the entrepreneurial journey
Improving the entrepreneurial journey
Wist Ltd
Viewers also liked
(20)
Multiple Connectivity Framework Keynote
Multiple Connectivity Framework Keynote
Mind Map
Mind Map
Autolayout keynote
Autolayout keynote
Gcd and concurrency programming
Gcd and concurrency programming
Core Bluetooth and BLE 101
Core Bluetooth and BLE 101
How mobile marketing can bring you more business
How mobile marketing can bring you more business
SugarCRM for Mac Users
SugarCRM for Mac Users
Audiência por Day Parts | Crianças e Adolescentes
Audiência por Day Parts | Crianças e Adolescentes
Dijital İndeks-2015
Dijital İndeks-2015
Distance learning presentation_hite
Distance learning presentation_hite
Social Media Warren Knight Digital Bootcamp April 2012
Social Media Warren Knight Digital Bootcamp April 2012
Regulament concurs 2012 jud partenere
Regulament concurs 2012 jud partenere
学生に向けてのメッセージ
学生に向けてのメッセージ
Heros of islam
Heros of islam
2009.10.05 --e marketer---marketing-to-online-video-audience
2009.10.05 --e marketer---marketing-to-online-video-audience
Relational data as_xml
Relational data as_xml
Antalya
Antalya
Turist în orașul meu craiova
Turist în orașul meu craiova
Kleer - Agile Testing - Especificaciones por medio de Ejemplos usando Fitnesse
Kleer - Agile Testing - Especificaciones por medio de Ejemplos usando Fitnesse
Improving the entrepreneurial journey
Improving the entrepreneurial journey
Recently uploaded
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Recently uploaded
(20)
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
An Example-Driven API Tester
1.
Lorem Ipsum Dolor
A Example-Driven API Tester Allen Lin! 2014.9.11
2.
Unit Test on
API ❖ JSON format! ❖ We use to write NSAssert! ❖ If the struct of JSON output is complex…! ❖ Takes time to write! ❖ Hard to check error
3.
Too Many Asserts!!
4.
Better Unit Test
by Example ❖ What if there’s a example…! Server API document output example ❖ The document should have example diff Unit Test
5.
Demo simpleAPITester.py
6.
Demo simpleDemo.py
7.
Demo TestCaseMain.py
8.
Restrict ❖ Objects
struct in an array must be the same! ❖ Not exactly matching
9.
Summary ❖ Pros:!
❖ Do not need to write NSAssert! ❖ Easy to change example than NSAssert! ❖ Cons:! ❖ Do not print on Jenskins
10.
Another Approach? ❖
Tree Pattern Matching! ❖ Recursive vs. Pattern Abstract
Download now