首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Cypress和Node-imap接收邮件的测试在缺少“net”模块时失败。

使用Cypress和Node-imap接收邮件的测试在缺少“net”模块时失败。
EN

Stack Overflow用户
提问于 2019-12-06 13:16:06
回答 1查看 845关注 0票数 0

我想使用节点imap或来自Cypress中NPM的imap包来检查是否收到了某些电子邮件并检查它们的内容。

当我尝试从imap和docs中获取的示例中的基本副本时,它会失败,出现以下错误:

代码语言:javascript
复制
./node_modules/imap/lib/Connection.js
Module not found: Error: Can't resolve 'net' in '/Users/username/Documents/test-e2e/node_modules/imap/lib'
resolve 'net' in '/Users/username/Documents/test-e2e/node_modules/imap/lib'
  Parsed request is a module
  using description file: /Users/username/Documents/test-e2e/node_modules/imap/package.json (relative path: ./lib)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      /Users/username/Documents/test-e2e/node_modules/imap/lib/node_modules doesn't exist or is not a directory
      /Users/username/Documents/test-e2e/node_modules/node_modules doesn't exist or is not a directory
      /Users/username/Documents/node_modules doesn't exist or is not a directory
      /Users/username/node_modules doesn't exist or is not a directory
      /Users/node_modules doesn't exist or is not a directory
      /node_modules doesn't exist or is not a directory
      looking for modules in /Users/username/Documents/test-e2e/node_modules/imap/node_modules
        using description file: /Users/username/Documents/test-e2e/node_modules/imap/package.json (relative path: ./node_modules)
          Field 'browser' doesn't contain a valid alias configuration
      looking for modules in /Users/username/Documents/test-e2e/node_modules
        using description file: /Users/username/Documents/test-e2e/package.json (relative path: ./node_modules)
          Field 'browser' doesn't contain a valid alias configuration
          using description file: /Users/username/Documents/test-e2e/node_modules/imap/package.json (relative path: ./node_modules/net)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
          using description file: /Users/username/Documents/test-e2e/package.json (relative path: ./node_modules/net)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              /Users/username/Documents/test-e2e/node_modules/imap/node_modules/net doesn't exist
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              /Users/username/Documents/test-e2e/node_modules/net doesn't exist
            .ts
              Field 'browser' doesn't contain a valid alias configuration
              /Users/username/Documents/test-e2e/node_modules/imap/node_modules/net.ts doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              /Users/username/Documents/test-e2e/node_modules/net.ts doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              /Users/username/Documents/test-e2e/node_modules/imap/node_modules/net.js doesn't exist
              /Users/username/Documents/test-e2e/node_modules/net.js doesn't exist
            as directory
              /Users/username/Documents/test-e2e/node_modules/imap/node_modules/net doesn't exist
            as directory
              /Users/username/Documents/test-e2e/node_modules/net doesn't exist

因此不能运行任何测试。我试图寻找这个'net',也结合imap包,但我真的找不到任何解决方案。有可能在Cypress中使用Imap吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-13 22:34:32

Cypress在浏览器中执行它的代码。所以你不能使用这样的NPM模块。要解决这个问题,必须使用cy.task。Cypress在节点进程中执行任务,因此您可以使用任意的lib。任务必须在插件文件中定义,因为该文件是在节点上下文中加载的。

因此,您必须在cypress.json中告诉柏树您使用的是一个插件文件:

代码语言:javascript
复制
{
    ...
    "pluginsFile": "cypress/plugins/plugins.js",
    ...
  }

然后在plugins.js中定义一个任务

代码语言:javascript
复制
on('task', {
    sendMail({ subject, to, body }) {
      return getEmail(subject, to, body);
    }
  });

getEmail应该是您的示例代码。

使用这样的任务:

代码语言:javascript
复制
cy.task("sendMail", { subject, to, body }, { timeout: 30000 });
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59213954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档