On Wednesday 28 December 2011 00:08:10 Nelly Yusupova wrote:
> Hello Everyone,
> 
> We are setting up an environment for running unit tests for our PHP
> application.  
> 
> We installed PHPUnit testing framework and were thinking of using it with
> Selenium.  There is lots of examples online of people who used PHPUnit &
> Selenium together but I've read that the support of PHP in Selenium is
> deprecated and I¹m wondering if this is the right way to go.
> 
> I would love to hear your experiences with PHP unit testing frameworks and
> if you are using unit testing, what does your set up look like.

I suggest, from my experience, not to use Selenium and tools etc. to make/run 
unit tests because selenium is primarily to run funcitonal tests which are very 
different from unit tests. For unit tests, you would mostly use PHPUnit itself. 
So for now for unit testing of PHP bases code, PHPUnit is de-facto software. 
There are others but not as widely used as PHPUnit.

Please find some generic guidelines below:

1. You should maintain hierarchy of classes as well as their equivalent test 
cases in same way. So for example if class file is grouped as 
lib/Validate/Numeric.php then it's corresponding test case should also be 
grouped as test/unit/Validate/NumericTest.php. Moreover name of test case class 
should also follow name of class that is to be tested as shown below:

Class to be tested: Validate_Numeric
Test case class: Validate_NumericTest

Please check how frameworks like Zend etc. does it.

2. It is recommended to write test cases for logical part only i.e static 
code/data need not to get tested. For complex test cases such as for Database, 
Mailing etc., it may require certain environmental settings.

3. Fixtures (such as images, data files etc.) of test cases should be kept in 
same folder where test case/s reside/s. However larger contents can be put in 
separate folder.

4. All test cases are to be run from project's base directory only. This is 
necessary because it is required to generate agile documentation of unit tests 
cases and their classes.

5: All test cases should also be grouped into suite to run all of them at a 
time.

My advice is not to use Selenium etc. for unit testing at all as Selenium is 
best suited for functional tests only.

Thanks

@anirudh

> 
> Thank you in advance for your responses.
> 
> Sincerely,
> Nelly Yusupova
> Digitalwoman.com
> ne...@digitalwoman.com
> 917 603-9226 (phone)
> URL: http://www.digitalwoman.com
> Blog: http://www.webgrrls.com/blog/
> Twitter: http://twitter.com/DigitalWoman
>   
> 
_______________________________________________
New York PHP Users Group Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

http://www.nyphp.org/Show-Participation

Reply via email to