In addition to what you need, there are a few tools out there that make API testing and usage easier and faster.
- [Instructor] Now let's talk about some of the tools that may be useful during this course. Some of these are open source and freely available, some are not. In terms of the PHP space, Xdebug is hands down the best tool for debugging the internals of PHP. It's not always necessary and can be challenging to set up, but the insights you can gain are amazing. This is open source and freely available. Next, Postman is one of my absolute favorite API tools. It's a user-friendly interface for creating and testing requests.
It also gives you snippets to show how to reproduce your requests in a variety of different languages. While we only care about PHP in this course, seeing the equivalent Corel request on the command line can be enlightening. You'd be amazing how many errors suddenly become obvious when you see that. It is also freely available, but has some paid options too. Next is Runscope. Runscope is a cloud-based testing and monitoring tool. In testing or validating APIs, you can have it catch callbacks, or act as a logging proxy so you can see all the data structures, headers, and every single detail possible.
For this course, the free tier's sufficient, but for massive scale or global monitoring, they do have paid plans. And finally, if your API uses an SDK or library, you may want to use it later. I do not recommend it at this stage because it adds layers and could accidentally hide or expose errors that aren't necessarily in your API. Just remember that once you add the SDK you're testing it and your API, not just your API. That's not necessarily a problem, but when you hit an error or unexpected behavior remember that it could come from one of two places now.
- The benefits of behavior testing
- Setting up a test environment
- Building your first API test
- Sending requests
- Validating response codes and payload
- Making authenticated requests
- Refactoring tests
- Writing to the API
- Establishing a system state for tests
- Using extensions
- Performing batch operations