5

我正在尝试学习 TDD 和 BDD 并以正确的方式进行。我正在使用的堆栈(或尝试使用,Spork 不适用于我的 Guard)是 Minitest-Guard-Spork-Capybara。我专注于模型的单元测试和集成测试的规范。

我在这个应用程序中有很多 Ajax。我只是在save_and_open_page我的一个测试中做了一个,当然页面出现了,当然,因为它找不到任何资产。

我的问题是,如果我要测试 JS 功能,我是否必须每次都预编译资产才能测试它们,或者有什么方法可以让管道默认为开发模式以进行测试。

我确定这是一个 n00b 问题,但这就是我进行测试的地方。努力把事情做对。

4

2 回答 2

4

不,您不必每次都这样做。只需在开发环境(测试环境?)中工作,生产环境和预编译用于公共工作系统。在您的工作环境中应该有config.assets.compile = true.

于 2013-04-30T19:07:33.673 回答
2

您不需要编译资产,实际上您根本不需要做任何事情。save_and_open_page 的工作方式不同,并且不会加载您的资产,所以如果一切看起来都很丑陋,请不要害怕,您的 capybara 测试仍然可以使用 javascript 正常工作,而无需对测试环境的设置进行任何更改。

但是,您必须设置 capybara 和 mini test 才能使用 javascript,并记住标记您的规范以激活 javascript。

于 2013-05-09T21:43:58.183 回答