CocosCreator3D v1.2.0版本
尝试使用Mocha进行单元测试,没有import cc的代码,单元测试运行很正常。但是尝试测试使用了Vec3这种cc 模块中的代码时,
第一句:
import { Quat, Vec3 } from “cc”;
就会报错:
Error: Cannot find module ‘cc’
Require stack:
- C:\Code\CocosCode\ProjectA\assets\Scripts\Utils\Math\Transform.ts
- C:\Code\CocosCode\ProjectA\tests\Utils\Math\Transform.spec.ts
- C:\Code\CocosCode\ProjectA\node_modules\mocha\lib\esm-utils.js
- C:\Code\CocosCode\ProjectA\node_modules\mocha\lib\mocha.js
- C:\Code\CocosCode\ProjectA\node_modules\mocha\lib\cli\one-and-dones.js
- C:\Code\CocosCode\ProjectA\node_modules\mocha\lib\cli\options.js
- C:\Code\CocosCode\ProjectA\node_modules\mocha\bin\mocha
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)
at Function.Module._resolveFilename (C:\Code\CocosCode\ProjectA\node_modules\tsconfig-paths\lib\register.js:75:40)
at Function.Module._load (internal/modules/cjs/loader.js:842:27)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object. (C:\Code\CocosCode\ProjectA\assets\Scripts\Utils\Math\Transform.ts:1:1)
at Module._compile (internal/modules/cjs/loader.js:1138:30)
at Module.m._compile (C:\Code\CocosCode\ProjectA\node_modules\ts-node\src\index.ts:1043:23)
at Module._extensions…js (internal/modules/cjs/loader.js:1158:10)
at Object.require.extensions. [as .ts] (C:\Code\CocosCode\ProjectA\node_modules\ts-node\src\index.ts:1046:12)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object. (C:\Code\CocosCode\ProjectA\tests\Utils\Math\Transform.spec.ts
1)
at Module._compile (internal/modules/cjs/loader.js:1138:30)
at Module.m._compile (C:\Code\CocosCode\ProjectA\node_modules\ts-node\src\index.ts:1043:23)
at Module._extensions…js (internal/modules/cjs/loader.js:1158:10)
at Object.require.extensions. [as .ts] (C:\Code\CocosCode\ProjectA\node_modules\ts-node\src\index.ts:1046:12)
at Module.load (internal/modules/cjs/loader.js:986:32)
at Function.Module._load (internal/modules/cjs/loader.js:879:14)
at Module.require (internal/modules/cjs/loader.js:1026:19)
at require (internal/modules/cjs/helpers.js:72:18)
at Object.exports.requireOrImport (C:\Code\CocosCode\ProjectA\node_modules\mocha\lib\esm-utils.js:20:12)
at Object.exports.loadFilesAsync (C:\Code\CocosCode\ProjectA\node_modules\mocha\lib\esm-utils.js:33:34)
at singleRun (C:\Code\CocosCode\ProjectA\node_modules\mocha\lib\cli\run-helpers.js:156:3)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! newproject3d@1.2.0 test:cross-env TS_NODE_PROJECT="tsconfig.test.json" mocha -r ts-node/register -r tsconfig-paths/register tests/**/*.spec.ts
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the newproject3d@1.2.0 test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above
让我比较困惑的一点是,引擎编译出来的代码,是如何去解析cc这个模块所在的路径呢?是在哪里配置的呢?
1)