SO Folk,
这些部分周围的任何人都知道你是否可以在运行结束时让Cucumber免于清理测试数据?我有一些测试继续失败,我想看看支持这些测试的数据......
有什么想法吗?
谢谢! 科里威尔克森
答案 0 :(得分:5)
在您的features/support/env.rb
文件中,有一些评论。如果您不希望在特定方案完成后回滚数据库,则将@no-txn
标记添加到方案中。然后,您需要自己清理数据库。最简单的方法是db:test:clone
。
解决问题的最佳方法是单独运行问题场景并查看每个问题如何失败。如果你进行了一次运行,并且有数据在数据库中留下数据,那么你将会遇到各种各样的问题。修复方案后,在执行下一个方案或运行之前执行db:test:clone
。
答案 1 :(得分:3)
以下是我对Sam Livingston-Gray的评论中提到的调试步骤的定义:
When /I want to debug/i do
debugger
true # never put debugger at the end of a method
end
答案 2 :(得分:1)
有点hackish,但作为最后的手段,也许你可以添加一个名为“然后暂停测试”的Then块,它会停止或进入轮询循环并且不会继续直到它看到某些条件发生变化(例如,你触摸/features/continue.txt)?
坚持“然后暂停测试”在您想要查看的测试中,并且您可以在继续之前检查数据库。当然,如果Cucumber使用数据库事务,这不起作用......
(抱歉模糊不清;自从我上次使用黄瓜以来已经有一段时间了。)