Wie man Tabellendaten in WordPress phpunit Tests behält

Ich frage mich, gibt es eine Möglichkeit, dass phpunit für wopdress keine Daten löschen, die ich während des Tests erstellt habe?

Solutions Collecting From Web of "Wie man Tabellendaten in WordPress phpunit Tests behält"

Normalerweise möchten Sie dies nicht tun, da dies unbeabsichtigt Auswirkungen auf Tests haben kann, die nach dem Test ausgeführt werden, der die Daten erstellt.

Wenn einige Daten für mehrere Ihrer Tests in einem einzigen Testfall verfügbar sind, können Sie sie mit wpSetUpBeforeClass() erstellen und dann in wpTearDownAfterClass() wieder entfernen.

Zum Beispiel der REST-API-Kategorie-Controller-Test vom core :

 class WP_Test_REST_Categories_Controller extends WP_Test_REST_Controller_Testcase { protected static $administrator; protected static $subscriber; public static function wpSetUpBeforeClass( $factory ) { self::$administrator = $factory->user->create( array( 'role' => 'administrator', ) ); self::$subscriber = $factory->user->create( array( 'role' => 'subscriber', ) ); } public static function wpTearDownAfterClass() { self::delete_user( self::$administrator ); self::delete_user( self::$subscriber ); } // [snip] } 

Andernfalls, wenn Sie nur einige databaseänderungen aus einem Test behalten möchten, vielleicht zu Debuggingzwecken, können Sie commit_transaction() .

  public function test_something() { do_something(); $this->commit_transaction(); }