Test von Symfony2 Forms Ursachen Konnte den Typ "entity" nicht laden

8

Ich teste einen Formulartyp, den ich für eine Anwendung definiert habe. Beim Testen des Formulartyps wird mit der TypeTestCase-Klasse von symfony die Meldung "Entitätstyp kann nicht geladen werden" angezeigt. Was kann ich tun, um das Problem zu lösen?

%Vor%     
Benny 03.05.2013, 09:26
quelle

2 Antworten

13

Ich habe bereits das gleiche Problem beim Testen einiger meiner angepassten Typen.

Hier ist die Art, wie ich es herausgefunden habe (indem ich EntityType verspottet habe),

Stellen Sie zunächst sicher, dass Ihre Testklasse erweitert TypeTestCase ,

%Vor%

Fügen Sie anschließend eine vorinstallierte Erweiterung zu Ihrem form factory , um die EntityType

%Vor%

Und schließlich fügen Sie eine Entität hinzu Tippen Sie , um Ihre vorinstallierte Erweiterung abzuspielen.

%Vor%

Aber möglicherweise müssen Sie ...

Meckern Sie die Registrierung , die DoctrineType nimmt als Parameter beim Aufruf seines Standardkonstruktors, weil es von setDefaultOptions() verwendet wird (Keep in Beachten Sie, dass EntityType erweitert DoctrineType ), um class und eigenschaft Optionen Ihres Entitätsfelds .

Sie müssen dann den EntityType wie folgt vortäuschen:

%Vor%     
Ahmed Siouani 28.10.2013, 14:57
quelle
0

Die Antwort von Ahmed Siouani ist gut geschrieben und hat mir erlaubt zu verstehen, wie man ein Extension in TypeTestCase hinzufügt.

Aber wenn Sie einen Integrationstest machen wollen, der in diesem Fall viel einfacher ist als ein Komponententest, können Sie Folgendes tun:

%Vor%

Wie in dieser Dokumentation beschrieben: Ссылка

    
VBee 03.04.2015 09:21
quelle

Tags und Links