首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在浏览器中运行测试时禁用Ember Mirage

在浏览器中运行测试时禁用Ember Mirage
EN

Stack Overflow用户
提问于 2019-09-04 16:21:23
回答 2查看 292关注 0票数 0

我希望能够在我的幻影服务器和实际的服务器上依次运行测试。

我读过关于禁用幻影的these docs,它可以在开发环境中正常工作。添加下面的代码可以在http://localhost:4200上禁用幻影。

代码语言:javascript
复制
 ENV['ember-cli-mirage'] = {
    enabled: false
  };

但是,当在http://localhost:4200/tests的浏览器中运行测试时,这并不会禁用mirage。

我已经在任何特定于环境的条件之外添加了上面的代码,所以它应该适用于所有环境。另外,我还尝试将上面的代码添加到三个特定于环境的条件中:

代码语言:javascript
复制
 ENV['ember-cli-mirage'] = {
    enabled: false
  };

if (environment === 'production') {
  ENV['ember-cli-mirage'] = {
    enabled: false
  };
}
if (environment === 'development') {
  ENV['ember-cli-mirage'] = {
    enabled: false
  };
}
if (environment === 'test') {
  ENV['ember-cli-mirage'] = {
    enabled: false
  };
}

http://localhost:4200/tests仍然使用幻影。

有没有办法在浏览器中测试时禁用幻影?我希望能够很容易地启用它,所以卸载幻影不是一个选择。

EN

回答 2

Stack Overflow用户

发布于 2019-09-05 20:56:09

我误解了在验收测试中添加setupMirage(hooks);的效果。(docs here)

当它出现在你的验收测试中时,所有的请求都会进入幻象,不管ENV['ember-cli-mirage'].enabled是真是假。

相反,当它不存在时,所有请求都将被发送到您定义的端点,而不管ENV['ember-cli-mirage'].enabled是否为真或假。

这可能解释了为什么对于productiondevelopment环境,docs on enabling or disabling mirage只提到执行。

票数 2
EN

Stack Overflow用户

发布于 2019-09-05 13:55:47

你的代码在我看来没问题。也许根据@jrjohnson的建议,重新启动服务器会有所帮助。如果这不起作用,像这样配置environment.js文件可能会有所帮助:

代码语言:javascript
复制
module.exports = function(environment) {

  let ENV = {
    'ember-cli-mirage': {
      enabled: true,
      directory: 'mirage'
    }
  };

  if (environment === 'test') {
    ENV['ember-cli-mirage'].enabled = false;
  }

  return ENV;
};
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57784309

复制
相关文章

相似问题

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