我是rails的新手,我需要测试与之相关联的javascript代码。经过一些研究,我发现这并没有那么难。
http://asciicasts.com/episodes/257-request-specs-and-capybara
所以现在我在规范中的示例中添加了":js=>true",一切都很好。要做到这一点,您必须更新spec_helper文件,使其不以事务性的方式运行测试,并在每次运行测试时添加database_cleaner gem以清除数据。
我知道现在能够测试包含javascript的代码是很好的,但每次清除数据库肯定会很烦人吗?由于我还是个新手,所以我还是用前端来做决定。当我不是100%的语法时,很难进行纯TDD,也很难在rails中实现。每次我想通过前端看到情况时,我都需要手动重新创建所有数据。我可能会写一个脚本来插入默认数据,这似乎是因为我的测试而写更多的代码(这可能是我应该做的……我不确定)。
有没有其他方法可以用javascript运行我的测试,这样我的测试仍然是事务性的?我正在使用guard运行我的测试环境,所以每次我保存规范文件时,我的数据库都会被清除(用户和所有人)!
有没有一种方法可以只为测试环境运行guard并保存我的开发数据?
谢谢。
现在效果很好。