返回介绍

attach()

发布于 2023-10-15 16:32:58 字数 2996 浏览 0 评论 0 收藏 0

  • 参数

    • {Component} component
    • {Object} options
      • {boolean} attachToDocument
      • {Object} slots
        • {Array<Component|Object>|Component|string} default
        • {Array<Component|Object>|Component|string} named
      • {Object|Array<string>} stubs
      • {Object} data
      • {Object|Component} parentComponent
      • {Object} methods
  • 返回值{Wrapper}

  • 选项:移步 挂载选项

  • 用法

创建一个包含被挂载和渲染的 San 组件的 Wrapper

不使用options选项

import {attach} from 'san-test-utils';
import foo from './foo';

describe('Foo', () => {
    it('renders a div', () => {
        const wrapper = attach(foo);
        expect(wrapper.contains('div')).toBe(true);
    });
});

使用options选项

import {attach} from 'san-test-utils';
import foo from './foo';

describe('Foo', () => {
    it('renders a div', () => {
        const wrapper = attach(foo, {
            data: {
                color: 'red'
            }
        });
        expect(wrapper.data().color).toBe('red');
    });
});

固定在DOM上

import {attach} from 'san-test-utils';
import foo from './foo';

describe('Foo', () => {
    it('renders a div', () => {
        const wrapper = attach(foo, {
            attachToDocument: true
        });
        expect(wrapper.contains('div')).toBe(true);
    });
});

默认插槽和具名插槽

import {attach} from 'san-test-utils';
import foo from './foo';
import bar from './bar';
import fooBar from './fooBar';

describe('Foo', () => {
    it('renders a div', () => {
        const wrapper = attach(foo, {
            slots: {
                default: [bar, fooBar],
                fooBar: fooBar, // 将匹配 `<slot name="fooBar" />`。
                foo: '<div />'
            }
        });
        expect(wrapper.contains('div')).toBe(true);
    });
});

将组件存根

import {attach} from 'san-test-utils';
import foo from './foo';
import bar from './bar';
import faz from './faz';

describe('Foo', () => {
    it('renders a div', () => {
        const wrapper = attach(foo, {
            stubs: {
                bar: '<div class="stubbed" />',
                barfoo: true,
                foobar: faz
            }
        });
        expect(wrapper.contains('.stubbed')).toBe(true);
        expect(wrapper.contains(bar)).toBe(true);
    });
});
  • 延伸阅读:Wrapper

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文