aufrufen Ich versuche, einen Test für eine Methode in der Klasse unten zu schreiben. Wie auch immer, wenn ich den Test ausführen bekomme ich den Fehler, dass get_b64
nie ausgeführt wird? Ich sehe nicht, wie das nicht läuft.Spott kann meine Methode nicht in Testmethode
Ich hatte ein wenig Einblick in die Spottdokumentation zum Testen statischer Methoden, aber soweit ich das beurteilen kann, liegt dieser Fehler nicht daran?
Was muss ich mit meiner Teststrategie ändern oder in der Lage sein, den Funktionsaufruf im verspotteten Objekt zu verspotten?
Klasse:
namespace App\Services\Steam;
use App\Services\Steam\Utils;
class Steam
{
public function profile(string $steamID)
{
$b64 = Utils::get_b64($steamID);
if ($b64 === null) {
throw new \App\Exceptions\InvalidSteamId();
}
return new Profile($b64);
}
}
Testcase:
public function test_create_user_object()
{
$id = "123"
$utilsMock = Mockery::mock(\App\Services\Steam\Utils::class);
$utilsMock->shouldReceive('get_b64')
->once()
->with($id)
->andReturn($id);
$steam = new \App\Services\Steam\Steam();
$steam->profile($id);
}