diff --git a/packages/cell-swipe/test/__snapshots__/index.spec.js.snap b/packages/cell-swipe/test/__snapshots__/index.spec.js.snap
new file mode 100644
index 000000000..c4a218f73
--- /dev/null
+++ b/packages/cell-swipe/test/__snapshots__/index.spec.js.snap
@@ -0,0 +1,46 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`drag and show left part 1`] = `
+
+`;
+
+exports[`drag and show left part 2`] = `
+
+`;
+
+exports[`drag and show left part 3`] = `
+
+`;
+
+exports[`drag and show left part 4`] = `
+
+`;
+
+exports[`drag and show left part 5`] = `
+
+`;
diff --git a/packages/cell-swipe/test/index.spec.js b/packages/cell-swipe/test/index.spec.js
new file mode 100644
index 000000000..2e2e2de18
--- /dev/null
+++ b/packages/cell-swipe/test/index.spec.js
@@ -0,0 +1,67 @@
+import CellSwipe from '..';
+import { mount } from '@vue/test-utils';
+import { triggerDrag } from '../../../test/utils';
+
+const defaultProps = {
+ propsData: {
+ leftWidth: 100,
+ rightWidth: 100
+ }
+};
+
+it('drag and show left part', () => {
+ const wrapper = mount(CellSwipe, defaultProps);
+
+ triggerDrag(wrapper, 10, 0);
+ expect(wrapper.html()).toMatchSnapshot();
+
+ triggerDrag(wrapper, 50, 0);
+ expect(wrapper.html()).toMatchSnapshot();
+
+ triggerDrag(wrapper, 500, 0);
+ expect(wrapper.html()).toMatchSnapshot();
+
+ triggerDrag(wrapper, 0, 100);
+ expect(wrapper.html()).toMatchSnapshot();
+});
+
+it('drag and show left part', () => {
+ const wrapper = mount(CellSwipe, defaultProps);
+
+ triggerDrag(wrapper, -50, 0);
+ expect(wrapper.html()).toMatchSnapshot();
+});
+
+test('on close prop', () => {
+ let position;
+ let instance;
+
+ const wrapper = mount(CellSwipe, {
+ propsData: {
+ ...defaultProps.propsData,
+ onClose(pos, ins) {
+ position = pos;
+ instance = ins;
+ }
+ }
+ });
+ wrapper.trigger('click');
+ expect(position).toEqual(undefined);
+
+ wrapper.setData({ offset: 100 });
+ wrapper.trigger('click');
+ expect(position).toEqual('cell');
+
+ wrapper.find('.van-cell-swipe__left').trigger('click');
+ expect(position).toEqual('left');
+
+ wrapper.find('.van-cell-swipe__right').trigger('click');
+ expect(position).toEqual('right');
+
+ instance.close();
+ expect(wrapper.vm.offset).toEqual(0);
+
+ wrapper.setData({ offset: 100, onClose: null });
+ wrapper.trigger('click');
+ expect(wrapper.vm.offset).toEqual(0);
+});