javascript - Jest 测试用例失败 - ReferenceError: Office is not defined
问题描述
我正在使用带有 Office.js 的 React-fabric UI 来创建 Excel 插件。在 CDN 下用于在 index.html 文件中导入 office.js。
<script
src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"
type="text/javascript"
></script>
下面是我的 jest.config.json
{
"testEnvironment": "node",
"verbose": true,
"files": ["https://appsforoffice.microsoft.com/lib/1/hosted/office.js"],
"setupFilesAfterEnv": ["<rootDir>/setupTests.js"],
"moduleFileExtensions": ["js", "jsx", "json"],
"transform": {
"^.+\\.(t|j)s$": "babel-jest"
},
"moduleDirectories": ["node_modules", "<rootDir>/app/src"],
"testPathIgnorePatterns": [
"Office",
"node_modules",
"<rootDir>/app/src/styles",
"<rootDir>/app/images"
],
"moduleNameMapper": {
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/app/__mocks__/fileMock.js",
"\\.(css|sass|scss)$": "<rootDir>/app/__mocks__/styleMock.js",
"office-ui-fabric-react/lib/(.*)$": "office-ui-fabric-react/lib-commonjs/$1",
"alias": {
"^components(.*)$": "<rootDir>/app/src/components/$1",
"^utils/(.*)$": "<rootDir>/app/src/utils/$1",
"^styles/(.*)$": "<rootDir>/app/src/styles/$1",
"^@[/](.+)": "<rootDir>/app/src"
}
},
"testMatch": ["**/__tests__/**/*.js?(x)"]
}
我的测试用例失败并出现以下错误:
ReferenceError: Office 未定义
请帮助解决此问题,因为尝试了多种方法来解决此问题,但没有运气。
解决方案
它通过添加酶设置文件并将Office键添加到全局对象和箭头函数作为值来工作。如下所示:setupTest.js
import React from 'react';
import Adapter from 'enzyme-adapter-react-16';
import { configure, shallow, render, mount } from 'enzyme';
configure({ adapter: new Adapter() });
global.React = React;
global.shallow = shallow;
global.render = render;
global.mount = mount;
global.Office = () => ({});
global.Office.onReady = () => ({});
推荐阅读
- java - 测试失败后如何阻止TestNG运行
- typo3 - TYPO3 8.7中带有表单框架的多列表单
- sql - 字典表上的递归关系
- javascript - 如何测试使用 react-spring 的反应组件?
- javascript - 如何为移动用户代理重定向网站?
- flask - 是否可以通过代码更改 _default_jwt_payload_handler(identity)?
- css - 如何在边缘制作 Bootstrap Dropdown 图标和文本?
- java - java spring:为具有集成身份验证的 sql server 配置属性
- json - 循环遍历数组时出现jq错误:无法使用字符串索引数组“
" - microsoft-graph-api - 为 Outlook 日历创建事件订阅时出现问题