gpt4 book ai didi

unit-testing - 在单元测试中使用初始化程序?

转载 作者:行者123 更新时间:2023-12-04 16:13:57 26 4
gpt4 key购买 nike

我有一个stdlib初始化程序。在该初始化程序中,我重新打开一些内置的Ember类并添加一些自定义方法。例如,我在reverseEachEmber.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,它将为您生成示例代码,包括测试。

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);
});

引用: Ember blueprints

关于unit-testing - 在单元测试中使用初始化程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28171360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com