无法使量角器(ng e2e)工作-“找不到模块”

时间:2019-06-21 12:41:09

标签: protractor phpstorm webstorm e2e-testing angular-e2e

我正在尝试对我的项目进行测试, 运行e2e时(通过“ ng e2e”或运行我的PhpStorm测试工具中的量角器代码)。

我在“ ng e2e”中遇到的错误是

DevTools listening on ws://127.0.0.1:60945/devtools/browser/79a66426-83f8-4059-888c-4e6a27bd09b5
[06:22:32] E/launcher - Error: Error: Cannot find module './env'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
    at Function.Module._load (internal/modules/cjs/loader.js:508:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (C:\www\blankblankproject\e2e\src\app.e2e-spec.ts:3:1)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Module.m._compile (C:\www\blankblankproject\node_modules\ts-node\src\index.ts:400:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Object.require.extensions.(anonymous function) [as .ts] (C:\www\blankblankproject\node_modules\ts-node\src\index.ts:403:12)
    at Module.load (internal/modules/cjs/loader.js:600:32)
[06:22:32] E/launcher - Process exited with error code 100
An unexpected error occurred: undefined

如果我在PhpStorm中运行它,

"C:\Program Files\nodejs\node.exe" C:\www\blankblankproject\node_modules\protractor\bin\protractor "C:\Program Files\JetBrains\PhpStorm 2019.1\plugins\JavaScriptLanguage\helpers\protractor-intellij\lib\protractor-intellij-config.js" --intellijOriginalConfigFile=C:\www\blankblankproject\e2e\protractor.conf.js --disableChecks
[06:39:27] I/launcher - Running 1 instances of WebDriver
[06:39:27] I/direct - Using ChromeDriver directly...
[06:39:31] E/launcher - Error: Error: Cannot find module './env'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
    at Function.Module._load (internal/modules/cjs/loader.js:508:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (C:\www\blankblankproject\e2e\src\app.e2e-spec.ts:3:1)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Module.m._compile (C:\www\blankblankproject\node_modules\ts-node\src\index.ts:400:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Object.require.extensions.(anonymous function) [as .ts] (C:\www\blankblankproject\node_modules\ts-node\src\index.ts:403:12)
    at Module.load (internal/modules/cjs/loader.js:600:32)
[06:39:31] E/launcher - Process exited with error code 100

Process finished with exit code 4

谢谢您的帮助

3 个答案:

答案 0 :(得分:0)

最可能的原因是:Error: Error: Cannot find module './env'
在某个地方,您以没有正确路径的其他文件为目标,也许在这里internal/modules/cjs/helpers.js:22:18

答案 1 :(得分:0)

学习使用堆栈跟踪。

最新事件位于最上方,因此从上至下开始阅读。

首先您会看到错误Error: Cannot find module './env',假设您不知道这是什么意思

下一行以及所有其他不属于您的项目的行均无用。所以下去,直到你得到at Object.<anonymous> (C:\www\blankblankproject\e2e\src\app.e2e-spec.ts:3:1)

此行说在您的app.e2e-spec.ts文件的第3行中,您发生了错误。所以去那里,探索那条线上的东西。您最有可能需要“ ./env”模块。这意味着您期望在规范所在的目录中有一个名为env的文件夹或文件,但不存在。

确定测试中是否需要此文件。如果是这样,请创建它;否则,请从规范中删除该行

答案 2 :(得分:0)

我想您的文件夹结构和答案

在第3行的测试文件e2e-spec.ts中,您需要使其要求/导入带有../env之类的两个点而不是一个点的模块语句。