javascript - 在 Ember 集成测试期间调试渲染的 HTML 和代码

标签 javascript ember.js integration-testing qunit ember-testing

我想在一页中呈现组件的测试,以便我可以看到在某些方法中插入的调试。

由于某种原因,我的测试似乎无法正确加载数据,我想看看它正在加载什么。

不幸的是,QUnit 只显示我在 asserts 中放入的内容我想知道是否有一种方法可以在一个页面中查看我的测试,以便我可以看到控制台日志

这是测试的框架:

import { moduleForComponent, test } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
import { clickTrigger } from 'frontend/tests/helpers/ember-power-select';

moduleForComponent('dynamic-input-field', 'Integration | Component | dynamic input field', {
  integration: true
});

test('it renders', function(assert) {
    // Set any properties with this.set('myProperty', 'value');
    this.set(...);

    // render the component
    this.render(hbs`{{my-component myProperty}}`);

    // actions of user here
    clickTrigger(); //this opens the ember-power-select
    assert.equal($('.ember-power-select-dropdown').length, 1, 'Dropdown is rendered');
    // check if it is rendering the elements and if it is excluding one element
    assert.equal('Field Four',$($('.ember-power-select-option')[2]).text().trim());
});

编辑:我仅使用 assert.equal() 就找出了问题所在。缺少一个$() (jQuery 函数)。示例:

assert.equal('Field Four',$($('.ember-power-select-option')[2]).text().trim());

如果能看到渲染的组件,而不是玩assert.equal(),那就太好了。

最佳答案

尝试使用debugger; statement在你的组件的 didRender lifecycle hook 里面,像这样:

export default Ember.Component.extend({
  didRender() {
    /* jshint ignore:start */
    debugger;
    /* jshint ignore:end */
  },

  // the rest of your code...
});

它将暂停集成测试中的代码执行,您可以在控制台中使用代码。如果您在浏览器中使用 QUnit Runner,HTML 渲染将在运行器的显示区域暂停,您也可以检查它。

我创建了一个Ember Twiddle example演示此解决方案。

关于javascript - 在 Ember 集成测试期间调试渲染的 HTML 和代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40937366/

相关文章:

ember.js - 从助手调用 Router.generate

ember.js - Emberjs 附加组件中的 Ember statemanager 与 sproutcore-statechart

angularjs - 如何使用 karma 测试e2e谷歌浏览器扩展程序?

javascript - 滚动时隐藏 div 并在光标到达距顶部一定距离时显示它

javascript - 一次查询多个型号

javascript - 正则表达式在javascript中获取字符串的多个段

python - 运行测试前的 Pytest 和数据库清理

c# - 集成测试 .NET Code 2.2 IHostBuilder (Generic Host Builder)

javascript - 背景颜色改变onclick重构

javascript - 如何在 Canvas 上使用 javascript 为圆锥体或圆柱体提供 3d 效果?以及如何在其中填充所需的颜色?