codecamp

EmberJS 单元测试助手

单元测试助手

全局与模块

前些日子,有难以测试Ember应用程序,而无需将应用程序重新加载为全局。您可以使用需要测试的模块来创建Ember应用程序,而无需从全局应用程序中删除这些部分。

单元测试助手

当使用Ember创建应用程序时,需要进行测试。单元测试基本上用于测试代码,并确保它正在做的是什么。Ember中的默认单元测试助手是Ember-QUnit,其他测试框架助手可以使用它作为模板。

可用助手

Ember-QUnit有一些测试助手,如下所示:

  • moduleFor(fullName [, description, [,callbacks]])

    • fullName:这是单元的名称。

    • description:这是模块的描述。

    • callbacks:它代表需要其他单元测试的QUnit回调。

  • moduleForComponent(name [, description [, callbacks]])

    • name:组件的名称。

    • description:这是模块的描述。

    • callbacks:callbacks:它代表需要其他单元测试的QUnit回调。

  • moduleForModel(name [, description [, callbacks]])

    • name:组件的名称。

    • description:这是模块的描述。

    • callbacks:它代表需要其他单元测试的QUnit回调。

  • test:它使用'subject'函数创建测试主体。

  • setResolver:它设置应用程序容器中的解析器来查找对象。

单元测试设置

要测试Ember应用程序,您需要调用Ember.setupForTesting()。函数setupForTesting()将关闭Ember应用程序的循环执行。它控制循环执行的流程,它解决异步行为,它们被挂起以建立状态并使断言处于已知状态。您可以运行“访问”来获取特定的URL,如果您没有使用它,您的断言结果将是不可预测的。

在测试应用程序时,Ember解析器根据名称提供查找功能,例如route:index或model:post。如果你没有自定义解析器,那么你需要设置解析器为:

setResolver(Ember.DefaultResolver.create({ namespace: App }))
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }