我的代码
App.test.js
import moment from "moment-timezone";
let result = moment().format();
describe("anything",()=>{
it("should return a fail..or at least something",()=>{
expect(result).toBe("wrong")
})
})
我跑步:
npx开玩笑或纱线测试或 npm测试
我得到:
npx jest
FAIL src/App.test.js
● Test suite failed to run
/home/wktdev/Desktop/thing/workflow_magic_guest_app/src/App.test.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import moment from "moment-timezone";
^^^^^^
SyntaxError: Cannot use import statement outside a module
at ScriptTransformer._transformAndBuildScript (node_modules/jest-runtime/build/script_transformer.js:403:17)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.586s
Ran all test suites.
看起来与此类似:https://github.com/facebook/jest/issues/9292
当我做npm ls开玩笑时,它说缺少依赖项。当II尝试手动安装它们时,它们不会安装,并且问题没有得到解决。
UNMET DEPENDENCY react-scripts@2.1.5
└── UNMET DEPENDENCY jest@23.6.0
答案 0 :(得分:1)
我根据笑话输出的消息弄清楚了。 jest提供了一些说明,以删除package.lock文件,yarn.lock并通过yarn install重新安装。 我之前尝试过,但我认为它不起作用,只是删除了玩笑,但我错了。看来可行-目前。
答案 1 :(得分:0)
如果您手动添加玩笑,请从package.json
删除玩笑依赖项,然后运行npm install
或yarn install
。
或者您可以运行npm test
或yarn test
来检查指令。
答案 2 :(得分:-4)
要解决此问题,您需要创建文件:./__tests__/setup.js
并将其放入:
import { configure } from "enzyme";
import Adapter from "enzyme-adapter-react-16";
configure({ adapter: new Adapter() });
之后,您只需要运行:npm run test