1

我正在使用 Symfony + Doctrine + PHPUnit 和 NetBeans IDE。这是我目前的单元测试方法。

  • setUp() 函数从 .yml 文件加载测试夹具
  • tearDown() 函数从模型中删除所有数据。这是通过将我所有模型名称的数组循环到类似 Doctrine_Query::delete($modelName)->execute() 来完成的

这似乎可行,但我只是好奇这是否是正确的方法。我基本上是在每个测试函数之后通过指定模型/表来“全部删除”来清除所有表。

Q1:我只是想知道这是否是正确的方法... Q2:这在 Netbeans IDE 中运行良好,但似乎无法通过“./symfony test:unit”运行。我错过了什么还是 CLI 只适用于石灰?

4

3 回答 3

1

./symfony test:unit 运行 symfony 自己的测试套件,它使用石灰作为测试框架,而不是 phpUnit。

netbeans 使用 phpUnit 来提供集成测试支持。希望 netbeans 将在 netbeans 6.8 的传入 symfony 支持中为 symfony 测试套件添加测试支持

于 2009-09-16T10:08:31.277 回答
0

If you want to use phpunit with symfony check out: PHPUnit plugin Just a note that this only works with 1.2.x it seems, for 1.4.x which is what I'm currently using at work check out: Another PHPUnit plugin this last one is in beta, but it works for 1.4.x according to the author, I'll be trying it out soon, so if I can remember, I'll come back here and throw up my findings. It's honestly not to hard to back out if you don't want to install it, so trying it is easy.

If you happen to try it, please post your findings, I'd be really interested in hearing your thoughts. I'm finding lime to be lame (HAH!) as it just makes mocking a chore.

于 2010-03-10T17:21:28.423 回答
0

我正在使用 PHPUnit 在外部尝试它,没有插件。我正在使用教义。我遇到了很大的问题。如果我运行一个 PHPUnit(由我编写)tes 方法,那就太好了。第二个,不太好。这可能是我使用 Doctrine 的方式。似乎即使我从数据库中删除了所有内容(在 PHPUnit 方法调用之间)并恢复了夹具文件,所有这些都在 setup() 中,DOCTRIN 会记住以前的值。

是否刷新连接、取消设置被错误地“记住”的父对象、refreshRelated() 等是否重要,当我对关系进行第一次分配时,我仍然会得到旧值。

$parent=新的父类型;//设置父值。$child=new ChildType //设置子值 $child['Parent']=$parent; $child->保存();

数据库反映一切正常,PHPUnit 中的 Doctrine 不起作用。PHPUnit的我还没试过OUT,毕竟在使用前先测试一下吧?但我可能必须这样做,看看它是 Doctrine 还是 PHPUnit

于 2010-07-19T03:28:01.443 回答