Unittest - oxArticle assign bringt Fehler

Hallo,

ich habe mir einen kleinen Unittest geschrieben

$aParams = array();
$aParams['oxarticles__oxtitle'] = 'mein Titel';  

$oArticle = oxNew('oxarticle');

$oArticle->assign($aParams);

$oArticle->save();
              

Das ganze ist eigentlich ja noch kein Unittest, sondern nur ein Testartikel.

Wenn ich diesen Code irgendwo im Shop anwende, funktioniert er ohne Probleme und der Artikel steht dann auch in der Datenbank.

Wenn ich den Test in der Unittestumgebung aufrufe, bekomme ich

1) Unit_ArticleTest::testDataFields
array_keys() expects parameter 1 to be array, null given

C:\shop\core\oxlang.php:438
C:\shop\core\oxlang.php:391
C:\shop\core\oxconfig.php:1124
C:\shop\core\oxconfig.php:1212
C:\shop\core\oxconfig.php:1324
C:\unittests\unit	est_utils.php:418
C:\shop\core\oxarticle.php:3987
C:\shop\core\oxarticle.php:3987
C:\shop\core\oxarticle.php:937
C:\unittests\unit\ArticleTest.php
C:\unittests\unit\OxidTestCase.php:219

Der Fehler entsteht in der Zeile $oArticle->assign($aParams);

Nun sind das alle core Klassen, die ich ja eigentlich nicht ändern muss, bzw. sollte.
Daher denke ich, das in meiner Testsuite etwas eingestellt werden muss.

Ich habe den Checkout von http://svn.oxid-esales.com/trunk/unittests/ genutzt.

Ein Test wie $this->assertEquals(1,1); funktioniert. PHPUnit funktioniert also an sich.

Ich habe den oxArticle mit einem Modul erweitert. Im Shop wird dieses Modul genutzt, das auch funktioniert (zusätzliche Datenbankfelder). Kann es damit etwas zu tun haben? Muss ich eigene Module nochmal explizit beim Unittest laden?

Irgendwelche Ideen?

Hallo,

puh - over my head :slight_smile:
Kennst Du die Mailingliste für Entwickler? Dort ist diese Frage wahrscheinlich besser aufgehoben. Unsere Core-Entwickler lesen dort mit und antworten gern auf solche Fragen.

Gruß

Hallo,

ich habe herausgefunden, dass der PHPUnittest mit PHP 5.2 von einem Standard XAMPP funktioniert und mit einem PHP 5.3 Standard Zend Server CE nicht.

Erstmal reicht mir die Lösung so. Ist oxid evtl. allgemein nicht PHP 5.3 lauffähig?

Hi,

[QUOTE=zendem;52222]ich habe herausgefunden, dass der PHPUnittest mit PHP 5.2 von einem Standard XAMPP funktioniert und mit einem PHP 5.3 Standard Zend Server CE nicht.

Erstmal reicht mir die Lösung so. Ist oxid evtl. allgemein nicht PHP 5.3 lauffähig?[/QUOTE]

Doch, ist er. Ich könnte mir vorstellen, dass in einer PHP5.2-Umgebung entwickelt wurde und damit ggf. die PHPUnit-Tests nicht auf PHP5.3 laufen.

Gruß