我尝试在我的VueJS项目中使用故事书,但我被模拟API调用卡住了。我尝试使用axios模拟适配器,但没有成功。
我的故事书文件代码是:
import { storiesOf } from '@storybook/vue';
import { action } from '@storybook/addon-actions';
import { withKnobs, boolean } from '@storybook/addon-knobs';
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
import fileUpload from './fileUpload.vue';
const mock = new MockAdapter(axios);
mock
.onPost('https://s3.amazonaws.com')
.reply(200, []);
storiesOf('Common|File CSV Upload', module)
.addDecorator(withKnobs)
.add('Default', () => ({
components: { fileUpload },
data: () => ({
}),
template: `
<v-flex>
<file-upload></file-upload>
</v-flex>`,
methods: {
action: action('file upload'),
},
}));
我用得对吗?
1条答案
按热度按时间vx6bjr1n1#
我强烈建议在Storybook中使用storybook-addon-mock来模拟(axios)API调用。
它nicley集成到Storybook中,在不同的故事中设置很容易,数据可以在相应的面板中更改。
需要以下4个步骤:
1.添加附加的依赖关系:
yarn add storybook-addon-mock
1.调整配置并添加
.storybook/main.js
:1.配置行为并为
.storybook/preview.js
中的一般**/重复API调用添加**模拟数据。这些模拟将在每个故事中可用。1.在您故事文件中添加:
提示:查看不同的响应-函数、字符串等,以将它们与真实的响应匹配。
data
条目可能存在缺陷,而response: () => 'some content'
可以避免该缺陷