可以在CakePHP中的测试方法之间动态更改夹具吗?

时间:2008-09-01 11:33:49

标签: unit-testing cakephp fixture

是否可以在测试方法之间更换夹具?如果是这样,我该怎么做?

我遇到此问题的语法:

在cakephp框架中,我正在为通过向表添加字段而配置的行为构建测试。这与添加“创建”的方式相同 并且“已修改”字段将在保存时自动填充这些字段。

为了测试这个,我可以创建几十个灯具/模型组合来测试不同的设置,但它会更好,更快,更容易让夹具改变“形状”之间测试方法。

  

如果您不熟悉CakePHP framework,可能仍然可以帮助我,因为它使用SimpleTest

编辑:改述问题更为通用

2 个答案:

答案 0 :(得分:0)

我对CakePHP并不熟悉,但这种事情似乎发生在装置的任何地方。

至少在这种情况下,轨道中没有内置方式,而且我想象不是在cakePHP或其他地方,因为整个夹具的想法是固定

我知道有两个“体面”的解决方法

  • 编写changefixture方法,在执行断言/ etc之前,使用要更改的参数运行它。应该去更新数据库或者需要做什么。

  • 根本不要使用灯具,每次使用某种物品工厂或物体生成器来创建物品

答案 1 :(得分:0)

这不是我的问题的答案,而是我的问题示例的解决方案。

我没有使用多个灯具或更换灯具,而是通过删除我想要测试的字段来编辑Model :: _架构数组。这样做的结果就是模型就像字段不在那里一样,但我不确定这是否是100%测试。我不认为这适用于所有情况,但它适用于我的例子。