diff --git a/src/datetime-picker/test/__snapshots__/datetime-picker.spec.js.snap b/src/datetime-picker/test/__snapshots__/datetime-picker.spec.js.snap
new file mode 100644
index 000000000..997df0c9d
--- /dev/null
+++ b/src/datetime-picker/test/__snapshots__/datetime-picker.spec.js.snap
@@ -0,0 +1,28 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`time type 1`] = `
+
+`;
diff --git a/src/datetime-picker/test/datetime-picker.spec.js b/src/datetime-picker/test/datetime-picker.spec.js
new file mode 100644
index 000000000..c12ed7666
--- /dev/null
+++ b/src/datetime-picker/test/datetime-picker.spec.js
@@ -0,0 +1,32 @@
+import DatetimePicker from '..';
+import { mount } from '../../../test/utils';
+
+test('confirm & cancel event', () => {
+ const onConfirm = jest.fn();
+ const onCancel = jest.fn();
+
+ const wrapper = mount(DatetimePicker, {
+ listeners: {
+ confirm: onConfirm,
+ cancel: onCancel
+ }
+ });
+
+ wrapper.find('.van-picker__confirm').trigger('click');
+ expect(onConfirm).toHaveBeenCalledTimes(1);
+
+ wrapper.find('.van-picker__cancel').trigger('click');
+ expect(onCancel).toHaveBeenCalledTimes(1);
+});
+
+test('time type', () => {
+ const wrapper = mount(DatetimePicker, {
+ propsData: {
+ type: 'time',
+ minHour: 22,
+ minMinute: 58
+ }
+ });
+
+ expect(wrapper).toMatchSnapshot();
+});