designModeDemo/demo/Creational/FactoryMethod/tests/FactoryMethodTest.php

29 lines
902 B
PHP

<?php
namespace demo\Creational\FactoryMethod\tests;
use demo\Creational\FactoryMethod\FileLogger;
use demo\Creational\FactoryMethod\FileLoggerFactory;
use demo\Creational\FactoryMethod\StdoutLogger;
use demo\Creational\FactoryMethod\StdoutLoggerFactory;
use PHPUnit\Framework\TestCase;
class FactoryMethodTest extends TestCase
{
public function testCanCreateStdoutLogging()
{
$loggerFactory = new StdoutLoggerFactory();
$logger = $loggerFactory->createLogger();
// 断言变量属于给定类型
$this->assertInstanceOf(StdoutLogger::class, $logger);
}
public function testCanCreateFileLogging()
{
$loggerFactory = new FileLoggerFactory(sys_get_temp_dir());
$logger = $loggerFactory->createLogger();
// 断言变量属于给定类型
$this->assertInstanceOf(FileLogger::class, $logger);
}
}