
[英]how to write unit test cases for App_Initializer using Karma/Jasmine in angular 7
[英]Using an initializer in an unit test?
我有一个stdlib
初始化器。 在该初始化程序中,我重新打开一些内置的Ember类并添加一些自定义方法。 例如,我将reverseEach
添加到Ember.Enumerable
和Array
。
它们在应用程序中运行良好,但在测试中我收到“reverseEach:undefined不是函数”。
我如何表明测试应该使用初始化程序?
我尝试了needs: [..., 'initializer:stdlib']
。 它没有偶然发现,但我仍然收到“未定义”的错误。
这是一个示例测试:
`import { test, moduleForModel } from 'ember-qunit'`
moduleForModel 'foo', 'foo',
needs: [
'model:bar'
'initializer:stdlib'
]
test 'deleteLastNItems', ->
model = @subject()
model.set '', ['foo', 'bar', 'baz', 'quux']
model.deleteLastNItems 2 # This should not die with "reverseEach: undefined is not a function"
deepEquals model.get('someProperty'), ['foo', 'bar']
你可以使用ember g initializer stdlib
,它会为你生成示例代码,包括test。
import Ember from 'ember';
import { initialize } from '../../../initializers/stdlib';
import { module, test } from 'qunit';
var registry, application;
module('Unit | Initializer | stdlib', {
beforeEach: function() {
Ember.run(function() {
application = Ember.Application.create();
registry = application.registry;
application.deferReadiness();
});
}
});
// Replace this with your real tests.
test('it works', function(assert) {
initialize(registry, application);
// you would normally confirm the results of the initializer here
assert.ok(true);
});
参考: 灰烬蓝图
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.