I am currently performing unit tests on my code (using PHPUnit and Jenkins) but I have read a lot about integration testing.
-
Are there any tools to perform this in php (preferably automated)?
-
How would I go about implementing it?
Are there any good tutorials
anywhere?
Advertisement
Answer
Basically the way to go is to implement besides unit tests also mock tests which are not solely testing a single unit more like a group of units bunched together and you see them as a logical unit which should behave in a certain way while handing in some input or calling methods.
One possible library for this is yaymock in the google code repository. Its a php5 mock library.
Further integration tests are more or less only tests which test the complete system behavior. The basic thing is setting a test environment up and deploy your application afterwards. You can do this kind of testing also with a unit test framework or a mock library. As you wish. Integration tests in detail in your case are http requests, based on some data in your database and an expected possible “html” output.
To automate this you can use some continous integration frameworks… either Hudson, Arbit or phpUnderControl. For setting up php with hudson and some nice testing plugins there is a pretty good tutorial. It mentions also some useful plugins like Code-Coverage checks, etc … which could be integrated inside the environment.