setup.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /**
  2. * Jest 测试环境设置文件
  3. */
  4. // 配置测试环境
  5. import { config } from '@vue/test-utils';
  6. import ElementUI from 'element-ui';
  7. // 全局注册ElementUI
  8. config.global.plugins = [ElementUI];
  9. // Mock window对象
  10. Object.defineProperty(window, 'location', {
  11. value: {
  12. href: 'http://localhost:8080',
  13. origin: 'http://localhost:8080',
  14. protocol: 'http:',
  15. host: 'localhost:8080',
  16. hostname: 'localhost',
  17. port: '8080',
  18. pathname: '/',
  19. search: '',
  20. hash: ''
  21. },
  22. writable: true
  23. });
  24. // Mock localStorage
  25. const localStorageMock = {
  26. getItem: jest.fn(),
  27. setItem: jest.fn(),
  28. removeItem: jest.fn(),
  29. clear: jest.fn()
  30. };
  31. global.localStorage = localStorageMock;
  32. // Mock sessionStorage
  33. const sessionStorageMock = {
  34. getItem: jest.fn(),
  35. setItem: jest.fn(),
  36. removeItem: jest.fn(),
  37. clear: jest.fn()
  38. };
  39. global.sessionStorage = sessionStorageMock;
  40. // Mock console方法以避免测试输出污染
  41. global.console = {
  42. ...console,
  43. log: jest.fn(),
  44. debug: jest.fn(),
  45. info: jest.fn(),
  46. warn: jest.fn(),
  47. error: jest.fn()
  48. };