【问题标题】:Jasmine: testing my rails site's interface with itJasmine:用它测试我的 Rails 站点的界面
【发布时间】:2012-07-09 17:16:52
【问题描述】:

我一直在寻找测试 Rails 3 应用程序的方法,该应用程序具有大量 JS 代码以实现其丰富的界面。我尝试了 Capybara,但没有成功,所以现在我正在尝试 Jasmine。但我很难理解我应该如何去做。

据我所知,仅 Jasmine 就可以很好地测试网站的 JS 组件,但如果我想直接测试界面怎么办?我需要类似的东西:

describe "Sign in" 
   Visit '/home'
   When user clicks "Sign in" link 
   The sign in form should appear

我真的可以对 Jasmine 做类似的事情吗?到目前为止,我的测试包含在 rails-jasmine gem 生成的结果页面中,显然它们在该 DOM 上运行,而不是在我网站的 DOM 上运行。

我现在正在尝试使用 evergreen,但我得到了相同的结果(我什至不能包含 jQuery)。

有什么想法吗?

谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 bdd jasmine


    【解决方案1】:

    回答您的问题 - 不,Jasmine 本身不会以某种方式让您浏览您的网站并进行如此高水平的测试,例如与 Cucumber 的集成测试。

    Jasmine 主要是为测试您的 js 的 API 而构建的,因此基本上您只能测试 URL 路由或使用它的东西,前提是它们是您 API 的一部分。

    例如,您可以测试骨干路由器如何响应窗口的当前位置,或从一个位置导航到下一个位置,但这是因为骨干路由器显式处理 URL 位置。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 这真的不能回答我的问题。我要求一个 Javascript 框架来做这样的事情。我已经尝试过 Capybara 但它对我不起作用(我不知道是因为我的网站有太多 JS 还是什么)。无论如何,谢谢。
      【解决方案3】:

      您可以尝试将jasminerice 与固定装置一起使用。如果目的是测试 JS DOM 交互,那么fixtures 就是要走的路。 但如果这个想法也是为了测试服务器交互,那么使用 cucumber 之类的东西是有意义的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-16
        • 2018-04-02
        • 2012-07-18
        • 1970-01-01
        • 2011-12-20
        • 2012-04-29
        • 1970-01-01
        • 2013-08-23
        相关资源
        最近更新 更多