我在调查测试失败的原因方面非常困难。我是一个非常有经验的程序员,并且熟悉一般的调试技术,但是我对Capybara和RSpec是新手,所以我希望有某种我不知道的工具可以帮助我。从Capybara/RSpec更好地记录?
总之,我有一个测试是这样的:
expect { click('.fake_button'); sleep 1 }.to change { clicks.count }.by(1)
当点击假的按钮,它会触发一个AJAX调用的Rails应用程序,除其他事项外,增加了点击记录到数据库。我可以想到几十件可能会导致此测试失败的事情,并且只有有限的成功从日志中获取信息。测试不会在开发过程中失败,它只会在测试中偶尔失败。测试环境的差异之一在于,测试是在我们办公室的服务器上针对云中的服务器运行的,因此存在网络延迟以及其他可能的问题。
这是非常难以诊断,因为有资料太少走出失败的考验,当然所有的数据库信息被扔掉通过我了解故障的时间。我知道clicks.count
在测试中没有发生变化,我可以推断click('.fake_button')
成功,但由于服务器时间同步问题,我甚至无法确定点击是否发生在右侧按钮上或者AJAX调用被触发。
我想什么是一些工具来帮助我遵循Web服务器日志这个测试用例(可能使用自动URL参数,例如),什么水豚做详细的记录,并作为网页的记录它发生故障时,包括cookie值。我可以得到这些吗?任何这样的事情?
'save_and_open_page'绝对有帮助,谢谢,是的,'launchy'是必需的,正如'js:true'。 'test.log'不是很有用。如果'test.log'中的信息足够有用,我不会问这个问题。 – 2013-03-27 22:10:08