incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Barnes <mrtr...@gmail.com>
Subject Re: Couchdb and PHPUnit
Date Mon, 19 Apr 2010 23:18:36 GMT
That does seem to be the way to go about implementing such a system. I 
will see how I go, and will publish the results if I end up with 
something that seems reusable.

-Patrick

On 19/04/2010 6:00 PM, Thomas Nunninger wrote:
> Hi,
>
> Am Montag, 19. April 2010 09:44:22 schrieb Patrick Barnes:
>> Partly - I was wondering also if there was something similar to the
>> functionality phpunit has for initialising database contents from XML
>> files, etc.
>
> Why don't you use setUpBeforeClass() and tearDownAfterClass()? In my CouchDB
> related test cases I have something like this:
>
> public static function setUpBeforeClass()
> {
>      $couchDb = new myCouchDb( self::getCouchDbUri() );
>      $dbName = 'some_test_database';
>
>      try
>      {
>          $couchDb->createDatabase( $dbName );
>      }
>      catch ( Exception $e )
>      {
>          $couchDb->deleteDatabase( $dbName );
>          $couchDb->createDatabase( $dbName );
>      }
> }
>
> public static function tearDownAfterClass()
> {
>      $couchDb = new myCouchDb( self::getCouchDbUri() );
>      $dbName = 'some_test_database';
>      $couchDb->deleteDatabase( $dbName );
> }
>
> HTH
>
> Thomas
>
>>
>> On 19/04/2010 5:15 PM, David Coallier wrote:
>>> On 19 April 2010 07:16, Patrick Barnes<mrtrick@gmail.com>   wrote:
>>>> Has anyone on the list (or elsewhere) written code for phpunit to make
>>>> setting up /tearing down couchdb test databases for unit testing easier?
>>>
>>> I have setup couchdb to be used in unit tests and from the look of
>>> your question all you'd have to do is setup the base class that would
>>> have a setUp and that would create an instance to the CouchDB
>>> databases you have.
>>>
>>> abstract class TestBaseCouch extends PHPUnit_Framework_TestCase
>>> {
>>>       protected $couch;
>>>
>>>       public function setUp()
>>>       {
>>>           $this->couch = new Couch();
>>>       }
>>>
>>>       public function tearDown()
>>>       {
>>>           unset($this->config);
>>>       }
>>> }
>>>
>>> class TestyouWantTestCase extends TestBaseCouch
>>> {
>>>       /**
>>>        * @expectedException Couch_Exception
>>>        */
>>>       public function testExceptionFromCouchClient()
>>>       {
>>>           $this->couch->doSomething();
>>>       }
>>> }
>>>
>>>
>>> Is that what you mean?
>
>
>

Mime
View raw message