作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们如何使用 quint 测试用 fixture 测试 ember 数据?这是我的测试代码的样子:
/*globals App, getFoodController*/
module('Analytics Unit Test: AnalyticsConfig Controller', {
setup: function () {
AS.Store = DS.Store.extend({
adapter: DS.FixtureAdapter.create({ simulateRemoteResponse: false })
});
AS.AnalyticsRun.FIXTURES = [{
id: 1,
analyticsPlan: "Jane Q. Public",
commandScript: "some script",
analyticsRunParameters: []
}];
}
});
test('Check controller is initialized',function(){
var controller = getAnalyticsConfigController();
ok(controller, 'AnalyticsConfig controller is ok');
});
test('Check data',function(){
var controller = getAnalyticsConfigController();
var store = controller.get('store');
var data;
Ember.run(function () {
data = store.find('analyticsRun',1);
console.log(data);
});
equal(data.length, 1, 'Check data');
});
当我记录数据时,它会返回一个 promise 。但是如何测试返回了多少条记录或检查数据呢?
谢谢,迪伊
最佳答案
store.find
执行异步加载,甚至 fixture 中的数据都在内存中。该方法用于模拟 ajax 请求。所以你需要使用then
方法来知道什么时候加载数据。
要在 qunit 中测试异步行为,您需要使用 asyncTest .
更新您的示例,提供以下代码:
asyncTest('Check data', 1, function() {
var controller = getAnalyticsConfigController();
var store = controller.get('store');
Ember.run(function () {
store.find('analyticsRun',1).then(function(data) {
equal(data.get('length'), 1, 'Analytcs with id 1 found');
start();
});
});
});
希望对你有帮助
更新
现在我意识到您使用的是 simulateRemoteResponse: false
,因此不需要使用 asyncTest。但是仍然需要 then
方法,因为这是您检索获取的模型的地方:
test('Check data', function() {
var controller = AS.__container__.lookup('controller:analyticsConfig');
var store = controller.get('store');
Ember.run(function () {
store.find('analyticsRun',1).then(function(analyticsRun) {
equal(analyticsRun.get('analyticsPlan'), 'Test', 'Analytics with id 1 found');
});
});
});
关于ember.js - 用 quint 测试 ember fixture 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18768598/
我克隆了一个仓库RainEffect,它模仿玻璃墙上的真实雨滴。我尝试运行它,但出现错误 Quint is not Defined 。我安装了它包含的所有 Node 模块。还尝试了 yarn buil
我们如何使用 quint 测试用 fixture 测试 ember 数据?这是我的测试代码的样子: /*globals App, getFoodController*/ module('Analyti
我是一名优秀的程序员,十分优秀!