Symfony单元测试最佳实践

时间:2011-02-25 17:17:30

标签: unit-testing symfony1 fixtures

我想知道管理单元测试装置的最佳实践是什么。

我觉得我应该写一个夹具foreach单元测试。 我想如果我写太多单元测试,夹具会太长。 然后,如果我想修改它,我将打破一些固定装置。

现在我搜索每个单元测试编写一个夹具的方法。

理论上我认为没有问题。告诉我,如果我错了。

我的问题是我如何确保更新灯具。如果我更改数据库架构,我不想更改所有灯具。 如果使用迁移对模式进行任何更改,则应该是可能的。

有没有这方面的工具?

1 个答案:

答案 0 :(得分:5)

我发现最好为每个测试文件使用单独的fixture文件。这种方法有几个优点:

  • 灯具独立,更改它们不会影响所有测试,只会影响一个。
  • 灯具较小,因为它们不需要涵盖每个测试用例。这使它们更容易阅读。
  • 因为每个灯具文件只包含足够的数据,所以更容易看到测试用例的主题

缺点是当您经常更改数据库时,您还需要更新您的灯具。在许多情况下,不需要它,因为新字段通常仅用于新测试。否则,您始终可以自动执行该过程(例如,我使用 vim宏执行此操作)。

添加新字段不应该破坏您现有的测试恕我直言。您应该使所有测试仍然通过。如果您需要更改行为,则应首先更新测试,使其失败并使其通过。