Hallo zusammen,
um meine unit tests etwas besser zu strukturieren würde ich gerne einzelne member functions aufrufen und entsprechend mit assert statements ergebnisse erwarten.
nehmen wir an folgendes Modul:
<?php
declare(strict_types=1);
class MyModule extends IPSModule
{
public function Create()
{
parent::Create();
}
public function ApplyChanges()
{
parent::ApplyChanges();
}
public function Foo()
{
echo "Hallo Welt";
}
}
wenn ich nun im unit test versuche Foo() aufzurufen, funktioniert das weder mit
class FooTest extends TestCase
{
public function testFoo()
{
$MyModuleInstanceID = IPS_CreateInstance($GUID);
$MyModuleInstance = IPS_GetInstance($MyModuleInstanceID)
$MyModuleInstance->Foo();
// Error: Call to a member function Foo() on array
}
}
noch funktioniert es mit:
class FooTest extends TestCase
{
public function testFoo()
{
$MyModuleInstanceID = IPS_CreateInstance($GUID);
PREFIX_Foo(MyModuleInstanceID);
// Error: Call to undefined function PREFIX_Foo()
}
}
Wie gehtn das?
Grüße,
elmcrest