Cache In Unit Tests

Hi,

I writing a unit test to test that a function return a cached result but caching doesn’t seems to work at all. (and it’s ok if i put the code in a controller).




        // additionnal memcache component.

        Yii::app()->memcache->set('ki', 'val', 0);

        $this->assertEquals(Yii::app()->memcache->get('ki'), 'val');

        

        Yii::app()->cache->set('ki', 'val', 0);

        $this->assertEquals(Yii::app()->cache->get('ki'), 'val');



Any ideas why it fails ?

well I fixed the file caching. It was just a question of write access to the cache folder.

Now looking for a solution for the memcache (APC cache) …

Everythings is ok.

First : run test as the same user as the webserver does (www most of the time) with command (freebsd 8 )




su -m www -c 'phpunit unit/tmpTest.php'



So i do not need to change the rights on cache folder.

For Apc cache, change a config var :


apc.enable_cli=On

in php configuration file.





    public function testCache()

    {

        $this->assertTrue( Yii::app()->memcache->set('ki', 'val', 20) );

        $this->assertEquals(Yii::app()->memcache->get('ki'), 'val');


        $this->assertTrue( Yii::app()->cache->set('ki', 'val', 20) ) ;

        $this->assertEquals(Yii::app()->cache->get('ki'), 'val');


    }



[color="#2E8B57"]OK (1 test, 4 assertions)[/color]