Ich teste Unit- und Integrationstests einer Import / Export-Erweiterung mit EcomDev_PHPUnit . Bei einigen Tests muss ich sicherstellen, dass sich keine Produkte in der Datenbank befinden. Das Problem ist, dass einige Module von Drittanbietern Produkte erstellen, diese jedoch nicht anschließend bereinigen. Was ist der beste Weg, um das Problem zu umgehen?
Meiner Meinung nach wäre der sauberste Ansatz, ein Gerät zu definieren, das EcomDev_PHPUnit mitteilt, dass ich keine Produkte in der Datenbank haben möchte. So ähnlich:
eav:
catalog_product:
Ich fürchte, dies ist nicht in EcomDev_PHPUnit implementiert. (Ist es?)
Eine andere Vermutung von mir wäre, dass ich meiner setUp
Methode einen Code hinzufügen muss, der alle über die Produktkollektion verfügbaren Produkte löscht.
Am fehleranfälligsten wäre es, alle produktbezogenen Tabellen im Fixture zu definieren und sie von EcomDev_PHPUnit leeren zu lassen.
Mächtige Götter des automatisierten Testens, bitte senden Sie mir einen Hinweis!
PS: Ich weiß, dass Sie normalerweise Ergebnisse verspotten und das tatsächliche Schreiben in die Datenbank nicht testen würden. Da die Tests überprüfen sollten, ob Produkte in die von Magento als beabsichtigt erkannte Datenbank geschrieben wurden, muss ich dies vermutlich auf diese Weise tun. Ich bin sowieso offen für Vorschläge.