你如何测试glimmer.js参数?

时间:2017-12-04 05:58:01

标签: glimmer.js

如何在测试中将参数正确传递给glimmer.js组件?

例如,我有一个接受@story作为参数的组件,我传递了一个故事对象。它实际上在代码中工作正常,但我正在尝试学习如何测试Glimmer组件,我在测试环境中传递参数时找不到一点文档。

我尝试了以下内容,但显然不起作用,但是我关闭了吗?

test('it displays args', async function(assert) {
  const storySample = {as_a: 'person', i_want: 'happiness', so_that: 'I can be happy'};

  await this.render(hbs`<StoryViewer @story={{theStory}} />`, {theStory: storySample});

  assert.equal(this.containerElement.textContent.trim(),
    'As a person I want happiness so that I can be happy');
});

更新

不起作用的新事物:

await this.render(hbs`<StoryViewer @story={{theStory}} />`);
this.args = {'theStory': storySample};
await this.render(hbs`<StoryViewer />`);
this.args = {'story': storySample};
await this.render(hbs`<StoryViewer />`);
this.args = {'@story': storySample};

更新1/5/2018

我最终被引导到glimmer.js repo中有关此主题的问题。对于遇到此问题的任何人,您可以查看此问题:

https://github.com/glimmerjs/glimmer.js/issues/14

剧透:这是一个相对较老的问题,其中的所有链接(截至本文撰写时)都是兔子洞,其中一些问题因为他们“重新思考”他们正在做什么的方式而被关闭。所以,基本上,仍然不可能干净利落地做到这一点。

我猜这有一种丑陋的方式可以做到这一点,但我对此并不感兴趣,所以我暂时放弃了Glimmer.js,直到测试更好。

0 个答案:

没有答案