Your fixture doesn't define a var $fields nor does it use import.
Therefore the fixture has no way of creating a table schema.  You need
to define fields information or import a table definition.  See
http://book.cakephp.org/view/360/Creating-fixtures

-Mark

On Nov 26, 10:43 am, pragna <[EMAIL PROTECTED]> wrote:
> mark_story: thanks - i've changed fixture to 'app.user' & removed
> $this->loadFixtures.
> valikeys: thanks - i've removed the redundant App::import.
>
> Test now is:
> <?php
> class UserTestCase extends CakeTestCase {
>         var $fixtures = array( 'app.user' );
>
>         function setUp() {
>     $this->User = ClassRegistry::init('User');
>         }
>
>         function testEnabledUsers() {
>                 $result = $this->User->enabledUsers(array('id', 'email'));
>                 $expected = array(
>                         array('UserTest' => array( 'id' => 1, 'email' => 
> '[EMAIL PROTECTED]' )),
>                         array('UserTest' => array( 'id' => 2, 'email' => 
> '[EMAIL PROTECTED]' ))
>                 );
>                 $this->assertEqual($result, $expected, 'Custom error message 
> goes
> here. Original: %s');
>         }}
>
> ?>
>
> However still produces the same errors, the 1st error being:
> Unexpected PHP error [Undefined property: UserFixture::$fields]
> severity [E_NOTICE] in [C:\xampp\htdocs\cake\cake\tests\lib
> \cake_test_fixture.php line 159.
> This is in the function drop() which the comments say is "Run after
> all tests executed, should return SQL statement to drop table for this
> fixture".
> he line is: $this->Schema->_build(array($this->table => $this->fields));
>
> and using debug $this->table is 'users' and this->fields is NULL.
>
> I'm new to CakePHP and pretty new to PHP as well, so any help working
> out what's goin on is appreciated.
>
> Thanks,
> Andy
>
> However I'm still finding errors!
>
> <pre name="code" class="Cpp">
> ….My code here…
> </pre>
>
> On Nov 26, 2:42 pm, validkeys <[EMAIL PROTECTED]> wrote:
>
> > RE: 3) I don't think you need to App::import your model if you use
> > ClassRegistry::init.  Not 100% on that, and it shouldn't hurt even if
> > you do.
>
> > You don't, ClassRegistry::init handles the App::import
>
> > On Nov 26, 9:15 am, mark_story <[EMAIL PROTECTED]> wrote:
>
> > > Your fixture name needs to be 'app.user'.  Also you only need to
> > > manually load fixtures is you have var $autoFixtures set to false.
>
> > > -Mark
>
> > > On Nov 25, 5:04 pm, MattC <[EMAIL PROTECTED]> wrote:
>
> > > > This may or may not fix your problem but:
> > > > 1) You test db should be empty.  The framework will automatically
> > > > create/drop the tables for each test.
> > > > 2) You don't need to call "loadFixtures" at the start of each test.
> > > > 3) I don't think you need to App::import your model if you use
> > > > ClassRegistry::init.  Not 100% on that, and it shouldn't hurt even if
> > > > you do.
> > > > 4) In my fixtures I have the line:
> > > > var $import = array('table' => 'name', 'records' => false);
> > > > I had to use the actually table name to get everything working with
> > > > ClassRegistry setting the right database.  It didn't work if I just
> > > > specified the model.
>
> > > > Hope that helps.
> > > > -Matthttp://www.pseudocoder.com
>
> > > > On Nov 25, 4:29 pm, pragna <[EMAIL PROTECTED]> wrote:
>
> > > > > I've been struggling for a couple of days now to build a very simple
> > > > > 'model' unit test.
>
> > > > > CakePHPs "Convention over Configuration" should help me out here and
> > > > > so should the Cookbook.
>
> > > > > With Unit Tests though, it's quite hard to uncover the what the
> > > > > conventions are. The filename conventions described in the Cookbook
> > > > > (1.2) differ from, for example, the fixture files created using Bake.
> > > > > Also the guys at Debuggable have re-factored and simplified the
> > > > > building of model tests as well as sharing a fixturize script that
> > > > > automates the building of fixtures.
>
> > > > > All great stuff!
> > > > > If only I could get the simplest test up and running :(
>
> > > > > My failing code is 
> > > > > here:http://oneyeareatingcake.blogspot.com/2008/11/cakephp-unit-test-model...
>
> > > > > It is the most basic of Unit Tests on a simple findAll function in the
> > > > > most basic of models. The reason this is not working has to be that
> > > > > I'm breaking the convention somewhere. Maybe in file naming or in the
> > > > > way I'm including the fixture?
>
> > > > > I'd be very grateful if someone could get me out of this mess by
> > > > > pointing out what I've got wrong.
> > > > > Thanks,
> > > > > Andy
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to