单元测试EmberJS App(实际单元测试)

时间:2014-04-18 19:00:47

标签: javascript unit-testing ember.js

我想假设我已经知道Ember QUnit(最近在EmberConf上报道过)以及使用PhantomJS,所以如果你想把它标记为副本,请仔细阅读我的观点。< / p>

我的目标是从命令行运行单元测试,类似于可能运行的mocha测试

mocha simple_test.js

以命令行报告者的形式查看结果。

  1. 单独测试ember模块。我希望能够在没有运行的ember应用程序(可能是某种类型的ember测试工具)的上下文的情况下新建一个ember对象,路由或控制器,并对该模块运行断言。
  2. 在命令行中测试ember模块(避免像QUnit这样的浏览器报告器或像PhantomJS这样的无头浏览器)
  3. 我已经使用了karma和phantomjs的组合进行了集成和验收测试,我想看看我是否可以赞美更多的单元测试。有没有人遇到类似于我上面列出的单元测试设置,或者它是否真的不可能和/或有效?

    更新 ember指导列表单元测试策略: http://emberjs.com/guides/testing/unit/

    在我看来,这些似乎更像是集成测试。

1 个答案:

答案 0 :(得分:2)

是的,我的申请是这样做的。如果您还没有看过它(它上周某个时间上线),您可能希望查看ember站点文档中的新测试指南。我帮忙编辑了它。这是相当不错! : - )

祝你好运,如果您需要更多帮助,请告诉我,就像我说的那样,我会一直对Ember的所有部分进行单元测试。迄今为止对我来说最难的是组件,因为它们既不是集成也不是单元,真的......它们就像是混合:孤立的集成单元测试仍然需要在视图中使用大部分的余烬和渲染。

我使用后卫,茉莉 qunit无头跑。 Jasmine是我的偏好,我一直在慢慢地从qunit过来。

http://emberjs.com/guides/testing/

此外,我注意到你似乎想要的是将单元隔离在外面。为此,我将你的代码放在单独的javascript库中......否则你会遇到麻烦:毕竟如果使用Ember,你如何在没有Ember的情况下对一段代码进行单元测试?