35 lines
1003 B
PHP
35 lines
1003 B
PHP
<?php
|
||
|
||
namespace Tests\Unit;
|
||
|
||
use PHPUnit\Framework\TestCase;
|
||
use ReflectionClass;
|
||
use Services\Mongo;
|
||
use System\Classes\Config;
|
||
use System\Classes\MyException;
|
||
|
||
class MongoTest extends TestCase
|
||
{
|
||
protected function tearDown(): void
|
||
{
|
||
$ref = new ReflectionClass(Mongo::class);
|
||
$prop = $ref->getProperty('_instances');
|
||
$prop->setAccessible(true);
|
||
$prop->setValue(null, []);
|
||
|
||
$ref = new ReflectionClass(Config::class);
|
||
$prop = $ref->getProperty('config');
|
||
$prop->setAccessible(true);
|
||
$prop->setValue(null, null);
|
||
}
|
||
|
||
public function testUnknownConnectionNameThrows(): void
|
||
{
|
||
$this->expectException(MyException::class);
|
||
Mongo::instance('nonexistent');
|
||
}
|
||
|
||
// instance()/кэширование по имени с реальным MongoDriver — см. MongoDriverTest
|
||
// (там же markTestSkipped без ext-mongodb: сам MongoDriver::__construct() требует расширение).
|
||
}
|