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
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
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
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
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
Pooja Nehwal
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
Puma Security, LLC
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Recently uploaded
(20)
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...
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
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