Tag Archives: Unit Testing

MySQL connections in Zend Studio 8.0

Recently I was having problems to get my unit tests to connect to my local MySQL server when ran within Zend Studio 8. After some reading on the internet it seems, that this issue is caused by the MySQL server running on the default port (3306). I’ve changed this to 8889 as MAMP (on mac) suggests and now it works like a charm.

Running PHPUnit tests in Zend Studio

Why unit testing? There are quite a few reasons, but those I can think of right now are:

  1. It’s not hard, all it takes is some time to think things through
  2. Whenever I get a bugreport, I try to write it as a test to make sure this bug can never slip into my code unnoticed.
  3. It’s a nice way to make sure that the things you already wrote, keep working after you’ve changed some of your code.

Let’s take a look at the steps you need to do to get this working in Zend Studio (currently I’m using 6.1.2). First you need to add the PHPUNIT library location to the include of the project you want to write unit tests for. Right click your project, then click ‘properties’.

zend-unit-testing-project-properties

Then click on the ‘include path’ to the left. You will see an overview of the already added ‘include paths’ to this project.

zend-unit-testing-include-path

Click the ‘add variable’ option and select ‘PHPUNIT_HOME’ and click ‘OK’.

zend-unit-testing-add-include-path

So far, so good. Now we have to create a PHPUNIT Test Case. Rightclick on the folder where you want to this new file to go and click ‘new’ > ‘PHPUnit Test Case’.

zend-unit-testing-add-test-case

I used the details below and did not select a specific element to test. If you do choose an element or class to test, all the default test methods will be added to the new file.

zend-unit-testing-add-test-case-details

When you’re done adding the test file, you’ll get a pretty messy generated file. I’ve changed bits of it and added a few ‘demo’ functions as you can see below.

zend-unit-testing-code-example

I wrote 4 tests, using the 3 methods ‘returnTrue’, ‘returnFalse’ and ‘greaterThan’. These methods are obviously pretty straightforward, but it gives you an idea of the way that you can test them.

You can run the test by rightclicking the editor area and choosing ‘run as’ > ‘PHPunit Test’.

zend-unit-testing-run-test

You should, considering your configuration has been set properly, get the next results.

zend-unit-testing-success-results

I broke the ‘greaterThan’ function on purpose, to make sure that those tests would fail and then you get the following results.

zend-unit-testing-error-results

So far this little basic post about unit testing with PHPUnit from within Zend Studio. There are a lot more ways to test your code, but this brief introduction should get you started.