私はmongodbメソッドを単体テストしようとしているので、テスト後にmongoデータベース全体をフラッシュするtearDown()メソッドが必要です。ここでPHP 7 MongoDB - すべてのデータベースを落とす
は関数である。
public function tearDown()
{
$databases = $this->mongoClient->listDatabases();
foreach ($databases as $db) {
$db.dropDatabase();
}
}
それは私の$ DB上のメソッドを参照することはできませんが。
/var/www/html/tests/backend/Service/MongoStorageTest.php:35:
class MongoDB\Model\DatabaseInfo#1563 (3) {
public $name =>
string(5) "local"
public $sizeOnDisk =>
double(83886080)
public $empty =>
bool(false)
}
/var/www/html/tests/backend/Service/MongoStorageTest.php:35:
class MongoDB\Model\DatabaseInfo#1483 (3) {
public $name =>
string(2) "db"
public $sizeOnDisk =>
double(83886080)
public $empty =>
bool(false)
}
は、実際にそれらを選択するための実用的なまたは簡単な方法はありますか、単にすべてをドロップします。
Error: Call to undefined function Api\Test\Unit\dropDatabase()
それだけで、実際のデータベース自身、私のDBSのいくつかの情報モデルをしませ戻る)(listDatabasesです一つの方法で?
'$ db.dropDatabase();' - PHPは使用しません。 '$ db-> dropDatabase();'指定されたdropDatabaseメソッドは存在します – malarzm
あなたの質問には答えられないと思われる答えがありますか?もしそうなら、正確に答えなければならないものを明らかにするために答えにコメントしてください。実際にあなたが質問した質問に答えた場合は、[あなたの回答を受け入れる](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)に質問してください。 ask –