【问题标题】:How do I do Automating Ember testing with Dalek (setup/teardown of specific Ember components)如何使用 Dalek 自动化 Ember 测试(特定 Ember 组件的设置/拆卸)
【发布时间】:2014-03-17 03:41:03
【问题描述】:

我的 TLDR;我的问题的版本是“有没有一种方法可以与 qunit 集成,这样 Dalek 可以在需要时获得正确的上下文,或者相反,我可以让 Dalek 运行 setup/teardown assets-pipeline-compiled Ember javascript 来构建一个它运行测试的上下文?”

第一个 Dalek 看起来 太棒了!我所有的测试目前都是用 qunit 编写的。我在围绕我在 Ember 中构建的组件进行自动化测试时遇到了一些问题。组件是一种所见即所得的文本区域。

(顺便说一句,我的 qunit 测试是从 rails 应用程序中的路由驱动的。)

为了自动化测试,我的 qunit 脚本有一个 setup 和 tearDown ,每次都会创建一个原始文本区域。每个测试都会在 textarea 中创建一些内容,然后以某种方式与之交互,对其进行一些断言。

这一切都很好,除了我需要比 qunit 提供的更好的浏览器模拟(而且我真的没有耐心编写自己的与范围相关的浏览器响应模拟代码)。

我最需要做的事情是: 1. 使用箭头键移动插入符号,然后键入字符。 2. 点击文本区域中的特定点(不是 x,y 坐标,而是文本中的特定点)。

让我感到震惊的是,Dalek 完全可以帮助解决这个问题,但是我执行此工作流程的方式,我认为我要么需要通过我的 qunit 测试来远程控制 Dalek,要么以某种方式在 Dalek 中重写我的测试,但要做到这一点,我需要能够让 Dalek 使用 jQuery 和 Ember 为设置/拆卸创建组件和数据上下文,我什至不确定 Dalek 是否支持。

我真正需要的是部分集成、部分单元测试,而在 JS/Rails/Ember 测试领域似乎没有很好的答案来处理这组条件。

【问题讨论】:

    标签: javascript ember.js asset-pipeline integration-testing dalekjs


    【解决方案1】:

    我担心 DalekJS 不是你现在需要的工具,即使它是“我的小工具”,我建议使用 Karma(以前称为 Testacular)——它最初是为测试 AngularJS 应用程序而开发的:http://karma-runner.github.io/0.12/index.html

    你可以和 Protractor 一起使用 https://github.com/angular/protractor 它依赖于 selenium,但设置起来相当容易(与其他一些工具相比)。

    还有一本关于如何与 Ember 结合使用的手册:http://karma-runner.github.io/0.10/plus/emberjs.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多