我想知道管理单元测试装置的最佳实践是什么。
我觉得我应该写一个夹具foreach单元测试。 我想如果我写太多单元测试,夹具会太长。 然后,如果我想修改它,我将打破一些固定装置。
现在我搜索每个单元测试编写一个夹具的方法。
理论上我认为没有问题。告诉我,如果我错了。
我的问题是我如何确保更新灯具。如果我更改数据库架构,我不想更改所有灯具。 如果使用迁移对模式进行任何更改,则应该是可能的。
有没有这方面的工具?
答案 0 :(得分:5)
我发现最好为每个测试文件使用单独的fixture文件。这种方法有几个优点:
缺点是当您经常更改数据库时,您还需要更新您的灯具。在许多情况下,不需要它,因为新字段通常仅用于新测试。否则,您始终可以自动执行该过程(例如,我使用 vim宏执行此操作)。
添加新字段不应该破坏您现有的测试恕我直言。您应该使所有测试仍然通过。如果您需要更改行为,则应首先更新测试,使其失败并使其通过。