在symfony 1.x中,有些代码可以在没有修改数据库的情况下运行测试。例如,我的一个测试测试用户的注册。执行此测试后,用户始终处于数据库中。 我们如何在不修改数据库的情况下永久执行测试?不要影响数据库测试
1
A
回答
2
首先,亚历山大的优秀文章this描述了如何在每次测试后回滚数据库。
也可以使用sqlite作为测试数据库,因为它在内存中,因此速度更快。 This article描述了如何做到这一点。如果您需要在测试之间处理数据,如创建对象然后进行编辑,则此方法非常方便。这不是一个好的实践,但有时候是没有办法的。
我使用分裂的方法,有一个sqlite数据库的速度和做每个测试后亚历山大所述的回滚。它工作得很好:-)
+0
谢谢!我使用第一个链接(亚历山大莎乐美博客),它的工作。我有教条的问题(一些实体检索与教条不是'链接':“一个新的实体是通过关系发现的...”),但如果它链接到这个脚本我不会没有。 – bux
相关问题
- 1. 低影响端到端数据库连接和查询测试
- 2. 测试影响视图不记录数据
- 3. 在不影响数据库的情况下测试存储过程
- 4. JUnit测试互相影响
- 5. 数据库SQL更新不影响数据库
- 6. 数据库测试
- 7. 创建数据库,1行受影响
- 8. 什么影响在数据库中null?
- 9. 将测试数据库重建为生产测试数据库
- 10. TFS构建和测试影响
- 11. 测试对代码更改的影响
- 12. 如何测试android库会影响应用程序的性能?
- 13. RenamingDelegatingContext不创建测试数据库
- 14. rails测试数据库不会擦除
- 15. Laravel测试数据库不会回滚
- 16. 数据库集成测试
- 17. PHPUnit数据库测试
- 18. 单元测试数据库
- 19. Jmeter数据库测试
- 20. 测试从数据库
- 21. 准备测试数据库
- 22. 测试涉及数据库
- 23. 数据库结构测试
- 24. SQL Server - 测试数据库
- 25. 单元测试数据库
- 26. Junit测试数据库
- 27. Java Elasticsearch数据库测试
- 28. 运行Rails测试而不丢弃测试数据库
- 29. 如何在测试阶段配置Hibernate不要插入数据到数据库
- 30. 在CodeIgniter中设置测试项单元测试不影响报告输出
跟踪您的修改并在之后撤消它们。或者创建一个测试数据库。一旦你修改了数据库,它已被修改 - 没有“撤消”按钮。所以你必须建立一个你自己。如果您插入一行,请将其删除。如果您修改了一行,请选择它并先将其存储,然后再放回。如果删除一个,也一样。或者(更好)有一个镜像实时数据库的测试数据库,并使用它进行测试。 – DaveRandom
哎唷,这不是sf 1.x中更好的方法吗?我认为用于测试的数据库更好,但是我必须在每次测试之间重新初始化她的安全性否? :/ – bux