【问题标题】:Symfony unit test best practiceSymfony 单元测试最佳实践
【发布时间】:2011-02-25 17:17:30
【问题描述】:

我想知道管理单元测试固定装置的最佳做法是什么。

我觉得我应该为每个单元测试编写一个夹具。 我认为如果我写太多单元测试,夹具就会太长。 然后如果我想修改它,我会破坏一些固定装置。

现在我寻找一种方法来为每个单元测试编写一个夹具。

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

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

有什么工具吗?

【问题讨论】:

    标签: unit-testing symfony1 fixtures


    【解决方案1】:

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

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

    缺点是当您经常更改数据库时,您也需要更新您的固定装置。在许多情况下,它不是必需的,因为新字段通常仅与新测试一起使用。否则,您总是可以自动执行该过程(例如,我使用 vim 宏 来实现)。

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

    【讨论】:

    • +1。完全涵盖了我想说的内容,但无法让它听起来足够清晰:-) 单独的固定文件很棒 - 在运行单个单元测试时也可以加快你的 db drop/reload。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    相关资源
    最近更新 更多