Проблема конфигурации Vest Storybook Jest Addon - PullRequest
0 голосов
/ 01 октября 2018

Интересно, может ли кто-нибудь, использующий jest-аддон, поделиться своей конфигурацией Vue Storybook, поскольку я не могу заставить ее работать.Я пробовал глобальный режим:

В config.js в Storybook:

import { withTests } from '@storybook/addon-jest';

import results from '../.jest-test-results.json';

addDecorator(
  withTests({
    results,
  })
);

И внутри моей истории:

storiesOf('Elements/Tag', module)
  .addParameters({ jest: ['ThuleTag'] })
  .addDecorator(VueInfoAddon)
  .addDecorator(withTests({ results })('ThuleTag'))
  .add('Squared',
    withNotes(_notes)(() => ({
      components: {ThuleTag},
      template: _template,
      propsDescription: {
        size: 'medium / small / mini',
        type: 'success / info/warning / danger'
      }
    })),
  )

Я получаю эту ошибку:

TypeError: Object(...)(...).addParameters is not a function

Я также попробовал локальный способ: в моей истории:

import { storiesOf } from '@storybook/vue'
import { withNotes } from '@storybook/addon-notes'
import results from '../../../jest-test-results.json'
import { withTests } from '@storybook/addon-jest'
import ThuleTag from '../../components/ui/elements/ThuleTag.vue'

let _notes = `A simple wrapper for the Elements el-tag, that accepts the same <i>type</i> and <i>size</i> props`

let _template = `<thule-tag
  size="small"
  key="name">Tag Namez
</thule-tag>`

storiesOf('Elements/Tag', module)
  .addDecorator(withTests({ results }))
  .add('Squared',
    withNotes(_notes)(() => ({
      components: {ThuleTag},
      template: _template,
      propsDescription: {
        size: 'medium / small / mini',
        type: 'success / info/warning / danger'
      }
    })),
    {
      jest: ['ThuleTag.test.js'],
    }
  )

Здесь я получаю эту ошибку:

Error in render: "TypeError: Cannot read property '__esModule' of undefined"

И отображается вкладка Тестыс этим сообщением:

This story has tests configured, but no file was found

Может кто-нибудь указать мне, что все портит, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 18 января 2019

Хорошо, о первой ошибке

Error in render: "TypeError: Cannot read property '__esModule' of undefined"

Я думаю, что вы должны проверить ваш babel-config. Кажется, вы забыли некоторые предварительные настройки для вашей платформы.

О втором вопросе

This story has tests configured, but no file was found

Эта проблема возникает из-за Jest, и сборник рассказов / addon-jest хочет получить с равными api, но не может.В последних версиях Jest структура выходного файла имеет options.testResults, но storybook / addon-jest хочет options.results & options.results.testResults.

Существует два возможных решения:

  1. используйте соответствующую версию Jest и storybook / addon-jest
  2. примените хук в index.js библиотеки storybook-jest, что-то вроде этого

    if (testFiles && !testFiles.disable) {
      //todo: HERE should be your storybook hack
      options.results = options.tests.testResults;
      options.results.testResults = options.results;
        emitAddTests({
        kind: kind,
        story: story,
        testFiles: testFiles,
        options: options
      });
    }
    
0 голосов
/ 10 января 2019

Похоже, что шутка для сборника рассказов на данный момент не поддерживается для Vue.js https://github.com/storybooks/storybook/blob/master/ADDONS_SUPPORT.md

...