Hi Guys,
Sorry if this is the bad place for this, just wanted to spark some friendly chatter on what you guys use for development and testing of the API (not just unit testing or valiadation testing, but also development trial-and-error "hit-refresh-till-your-finger-hurts" testing)...
Development
For development I've been using Netbeans with xdebug on the dev server... Its pretty ok, some things I wish were better, others I really like, eh... so long I hadnt used a real IDE for me its cool... I'm going to try a few others soon as see what I like best. (I wanted something multiplatform as I have a mac at home and windows in the office - purely by choice, so lets not debate this :p)... One cool thing I did is I setup a dual monitor system, so I have a browser on one screen and the IDE on another. I then made a shortcut key to switch to the browser, hit refresh (F5) and back to the IDE instantly (keyboard hotkey with autohotkey). With this I can stay in the IDE debugger and just glance to the side to see the result of the code as it executes. Saves me a lot of mouse movement and alt-tabbing (from 1 monitor)...this works great for the browser-based stuff or GET-requests in restler, which brings me to:
For Development-time testing and debugging:
I've been using mostly Firefox itself bare (GET methods mostly...) and an extension called RESTClient (https://github.com/chao/RESTClient/)... I find it pretty good and easy and quick... I can just type in a url, parameters and fire off requests in any method I require. Still trying to figure out keyboard shortcuts to refresh requests and such tho...
I have heard on the web good things of SoapUI but when I downloaded it I couldnt make it work within the first 3 minutes so I gave up (although I have it on my list to revisit as I gather its suppose to help with unit tests and such...)
Talking about Unit Tests and documented, replayable tests:
Has anyone used something such as Selenium IDE to test their APIs? I tried it very briefly but I didnt find a way for non-GET requests, so I gave it up... I think something like this would be nice to have that we can kind of record tests and then put expected returns etc... I have a hard time writing tests because I take just as long writing the test as the code, for me I feel its very inefficient... I'm definitely on the lookout for something "macro-ish" selenium ide looked cool but I couldnt firgure out the post requests...
Documentation
I've been using a bit of PHPDocs which is cool... It really wasnt something I was in much of the habit of doing... despite commenting quite a bit of my code in the past, i had never used anything to extraact the comments and build a documentation... It makes an effect on what you comment and how you comment... You write differently based on audience, and one thing is the audience inside the code you are wriitng and another is the audience outside the code, looking at a documentation.
As for API documentation we spoke about swagger on another issue and I think it is the nicest one around... I am defo waiting for R3 to start using that... (or if anyone has developed a class that mapes the Restler 2 routes into a swagger resource file that would be awesome... I'm kinda busy (semi-lazy after luracast said its coming in restler3) to write my own...
So lets hear it from you other guys.... maybe after we have some comments we can make a wiki page of useful tools...