从therubyracer(或execjs)测试ajax?

时间:2012-01-31 17:48:12

标签: javascript ruby ajax testing execjs

我想从ruby上下文中测试javascript代码。具体来说,我想用ruby设置我的数据库,用我的javascript模型查询它,并从ruby确认我的javascript状态。我想这样做而不是嘲笑。

我尝试过将我的客户端库加载到v8上下文中,但这会导致therubyracer以各种方式阻塞(window not defineduserAgent not defined等)。

此外,我使用无头浏览器来测试我的javascript代码,但是他们没有提供我需要利用这些情况的ruby上下文。

我认为我需要将浏览器(或dom模拟器)加载到v8上下文中,但我不知道那些库可以执行此操作。也许你有另一个想法?

我该怎么做?

1 个答案:

答案 0 :(得分:2)

我已经将capybara-webkit用于此类任务。您实际上不需要使用RSpec助手,您也可以简单地创建一个内存浏览器实例,您可以将其导向HTML / Javascript。优点是它提供了一个evaluate_script方法,可用于与浏览器的Javascript上下文交互(推送/接收数据)。

这是否适用于您的情况是您需要从Javascript端访问哪种“ruby上下文”。

您可能还对其他一些项目感兴趣: