Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
teebbstudios
teebblog
提交
af64ef6e
T
teebblog
项目概览
teebbstudios
/
teebblog
通知
0
Star
5
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
teebblog
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
af64ef6e
编写于
6月 28, 2021
作者:
T
teebbstudios
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
setUp()
上级
e4fb097a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
51 addition
and
14 deletion
+51
-14
tests/IntegrationTest/EntityManagerTest.php
tests/IntegrationTest/EntityManagerTest.php
+51
-14
未找到文件。
tests/IntegrationTest/EntityManagerTest.php
浏览文件 @
af64ef6e
...
...
@@ -2,6 +2,7 @@
namespace
App\Tests\IntegrationTest
;
use
App\Entity\Post
;
use
App\Factory\PostFactory
;
use
App\Repository\PostRepository
;
use
Doctrine\ORM\EntityManagerInterface
;
...
...
@@ -9,13 +10,24 @@ use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
class
EntityManagerTest
extends
KernelTestCase
{
private
$entitymanager
;
protected
function
setUp
():
void
{
self
::
bootKernel
();
$this
->
entitymanager
=
static
::
getContainer
()
->
get
(
'doctrine.orm.entity_manager'
);
$this
->
truncateEntities
([
Post
::
class
]);
}
public
function
testEntityManager
():
void
{
$kernel
=
self
::
bootKernel
();
//
$kernel = self::bootKernel();
$this
->
assertSame
(
'test'
,
$kernel
->
getEnvironment
());
$entitymanager
=
static
::
getContainer
()
->
get
(
'doctrine.orm.entity_manager'
);
$this
->
assertInstanceOf
(
EntityManagerInterface
::
class
,
$entitymanager
);
$this
->
assertSame
(
'test'
,
self
::
$kernel
->
getEnvironment
());
//
$entitymanager = static::getContainer()->get('doctrine.orm.entity_manager');
$this
->
assertInstanceOf
(
EntityManagerInterface
::
class
,
$
this
->
entitymanager
);
//$myCustomService = self::$container->get(CustomService::class);
$factory
=
static
::
getContainer
()
->
get
(
PostFactory
::
class
);
...
...
@@ -25,17 +37,12 @@ class EntityManagerTest extends KernelTestCase
$post2
=
$factory
->
create
(
'Post title 02'
,
'Post Body 02'
);
$post3
=
$factory
->
create
(
'Post title 03'
,
'Post Body 03'
);
$post4
=
$factory
->
create
(
'Post title 04'
,
'Post Body 04'
);
$entitymanager
->
persist
(
$post1
);
$entitymanager
->
persist
(
$post2
);
$entitymanager
->
persist
(
$post3
);
$entitymanager
->
persist
(
$post4
);
$
this
->
entitymanager
->
persist
(
$post1
);
$
this
->
entitymanager
->
persist
(
$post2
);
$
this
->
entitymanager
->
persist
(
$post3
);
$
this
->
entitymanager
->
persist
(
$post4
);
$entitymanager
->
flush
();
}
public
function
testEntityManagerQuery
():
void
{
$kernel
=
self
::
bootKernel
();
$this
->
entitymanager
->
flush
();
$postRepo
=
static
::
getContainer
()
->
get
(
PostRepository
::
class
);
...
...
@@ -44,4 +51,34 @@ class EntityManagerTest extends KernelTestCase
$posts
=
$postRepo
->
findAll
();
$this
->
assertCount
(
4
,
$posts
);
}
// public function testEntityManagerQuery():void
// {
//// $kernel = self::bootKernel();
//
// $postRepo = static::getContainer()->get(PostRepository::class);
//
// $this->assertInstanceOf(PostRepository::class, $postRepo);
//
// $posts = $postRepo->findAll();
// $this->assertCount(4, $posts);
// }
private
function
truncateEntities
(
array
$entities
)
{
$connection
=
$this
->
entitymanager
->
getConnection
();
$databasePlatform
=
$connection
->
getDatabasePlatform
();
if
(
$databasePlatform
->
supportsForeignKeyConstraints
())
{
$connection
->
executeQuery
(
'SET FOREIGN_KEY_CHECKS=0'
);
}
foreach
(
$entities
as
$entity
)
{
$query
=
$databasePlatform
->
getTruncateTableSQL
(
$this
->
entitymanager
->
getClassMetadata
(
$entity
)
->
getTableName
()
);
$connection
->
executeQuery
(
$query
);
}
if
(
$databasePlatform
->
supportsForeignKeyConstraints
())
{
$connection
->
executeQuery
(
'SET FOREIGN_KEY_CHECKS=1'
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录