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