在CakePHP单元测试中,我可以为$default和$test配置使用相同的数据库吗?

在CakePHP单元测试中,我可以为$default和$test配置使用相同的数据库吗?,php,cakephp,Php,Cakephp,您好,我是CakePHP测试中TDD流程的新手 我的问题是,我们是否需要有两个数据库,一个用于默认,另一个用于测试 假设我有我的\u数据库用于$default。我是否还需要在$test上使用我的_数据库?或者我需要创建另一个类似于my\u database\u test?哪一个是常见的 我读过: 但仍然不知道是否需要使用不同的数据库 谢谢。不幸的是,CakePHP中的单元测试对于初学者来说并不直观,因为测试数据库的用途并不十分清楚 请记住:测试数据库是一个空沙盒,在每个测试的生命周期中创建、填充

您好,我是CakePHP测试中TDD流程的新手

我的问题是,我们是否需要有两个数据库,一个用于默认,另一个用于测试

假设我有
我的\u数据库
用于
$default
。我是否还需要在
$test
上使用
我的_数据库
?或者我需要创建另一个类似于
my\u database\u test
?哪一个是常见的

我读过: 但仍然不知道是否需要使用不同的数据库


谢谢。

不幸的是,CakePHP中的单元测试对于初学者来说并不直观,因为测试数据库的用途并不十分清楚

请记住:测试数据库是一个空沙盒,在每个测试的生命周期中创建、填充和删除其表。

测试数据库不应包含永久数据,因为它将被销毁。因此,决不能将“默认”数据库用作测试数据库必须为测试创建单独的数据库


要创建包含测试数据的表,需要定义。fixture可以在每次测试运行时自动从“默认”数据库导入表信息和数据。然而,在大多数情况下,手动硬编码装置是一种更好的做法。

谢谢你的帮助,但我想知道你是否说我不应该做任何单元测试,因为我是初学者?不。我没说过。恰恰相反!尽早开始单元测试!我只是说CakePHP单元测试对于初学者来说是一个常见的困惑源。@如果您能提供一个补丁来改进手册中的部分,InigoFlores将不胜感激。@ADmad是一个巨大的责任,但会尝试:)