用于单元测试的 EmberJS 服务注入 (Ember QUnit)

2023-11-27

Specs:

  • 灰烬版本:1.13.8
  • 节点:0.10.33
  • npm:2.13.4

I have

import Alias from "../../../services/alias";
....

moduleFor("controller:test", "Controller: test", {
  integration: true,

  beforeEach: function() {
    this.register('service:alias', Alias, {singleton: true});
    this.inject.service('alias', { as: 'alias' });
    this.advanceReadiness();
  },
});
...

test('Alias Alias Alias ', function(assert) {
  var controller = this.subject();

  //sample function
  controller.send("test");
  assert.equal(true, controller.alias.get("alias"), "alias should be true");
});
(Using 'alias' as example because I'm not allow to show actual code)

我尝试初始化服务,但在 Ember Qunit 测试期间,控制器没有注入服务。

我尝试将注入放入: init() 而不是 beforeEach 中,也不起作用......

如何在单元测试期间注入它?

我在调试器中放置断点来查看我的控制器是否有该服务,但在测试期间没有。不过,在正常的 ember 发球上就可以了。


您不必导入服务。您必须将服务纳入如下需求中。

moduleFor("controller:test", {
   needs: ['service:alias']
});

For eg:

服务/alias.js

Em.service.extend({
  name: 'john'
});

控制器/test.js

Em.Controller.extend({
  alias: Em.service.inject(),

  test: function() {
    alert(this.get('alias.name');
    }
  });

测试/单元/控制器/test-test.js

moduleFor('controller:test', {
  needs: ['service:store']
});

test('Alias Alias Alias', function(assert) {

    var controller = this.subject();
    assert.equal(controller.get('store.name'), 'john);

    });

为了运行此测试,Ember 将生成一个容器,其中包含controller test and service alias。因此,您可以访问带有名称前缀的服务属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于单元测试的 EmberJS 服务注入 (Ember QUnit) 的相关文章

  • API 的集成与单元测试

    我们可以考虑向端点 单元或集成测试 发送请求吗 import lib from testing lib const testClient expect lib const response testClient request app ge
  • Grails Spock 单元测试需要模拟事务管理器

    在 Grails 3 1 12 中 我想对服务进行单元测试 Transactional class PlanService List
  • 使用 Maven 对 Android 进行单元测试

    我有一个关于使用 Maven 构建的 android 项目的问题 我们让它运行我们的活动测试 但现在我们需要它来运行单元测试 单元测试与活动测试位于同一项目中 我如何在 pom xml 文件中设置它 这是父 Pom xml 文件
  • 在 JQueryUI 小部件的 QUnit 测试中测试可见性

    这对于其他人来说可能是显而易见的 但我没有通过搜索找到它 所以在这里发布问题和一个可能的答案 背景 使用自定义 JQuery UI 小部件小部件工厂 http jqueryui com widget 在小部件中 某些元素根据其他数据 选项隐
  • 如何模拟类路径上属性文件的存在?

    这肯定是一个常见问题 我有一个像这样的属性文件my settings properties由应用程序类读取 当我编写测试类时 它需要测试可能存在的不同场景my settings properties为了确保最大的代码覆盖率 例如空属性文件
  • 单元测试中的多个断言[重复]

    这个问题在这里已经有答案了 我刚刚读完 Roy Osherove 的 单元测试的艺术 我正在努力遵循他在书中提出的最佳实践 最佳实践之一是不要在测试方法中使用多个断言 这条规则的原因对我来说相当清楚 但它让我想知道 如果我有这样的方法 pu
  • C# 压力测试 - 模拟对给定共享资源的多次访问

    如何在 C 单元测试中模拟 压力测试 100 个用户访问给定的共享资源 例如数据库 假设您正在访问真实的数据库 那么您就处于集成测试的范围内 最简单的方法是从多个线程访问资源 例如 Test public void SimpleStress
  • 无法测试通过 NSubstitute 接收的 ILogger

    我有一个 Net Core 3 应用程序 并尝试在我的方法中测试对 ILogger 的调用 public class MyClass private readonly ILogger
  • 使用单元测试项目中定义的 Startup 类时.NET Core TestServer 返回 404

    我有一个基本的 net core api web 应用程序和一个使用 TestServer 发出 http 请求的单元测试项目 我有一个 TestStartup 类 它是 api 项目中 Startup 类的子类 如果 Startup 类位
  • 使用带有 OnException 定义的adviceWith进行Camel路由测试

    我有一个非常简单的 Camel 路由定义 其中只包含一些 OnException 谓词来处理相应的异常和一些日志语句 from hazelcast seda someQueue id someQueueID onException Cust
  • QUnit 不会运行测试

    我刚刚开始使用 QUnit 并遇到问题 我目前正在使用 TypeScript 它是一个 JavaScript 编译器 我在与我的主要课程结构平行的课程中进行测试 在每个类中 我都有一个名为 runTests 的函数 为了执行这些测试 我循环
  • Grails 控制器单元测试不会将页面渲染到response.text

    我的环境配置 Java 1 7u51 Grails 2 3 7 我试图断言response text在控制器测试中但它总是带 发生了什么 这是我的用户控制器 class UserController def index flash erro
  • 单例可以促进遗留代码库中的单元测试。好主意好不好?

    各位 我有一个庞大的遗留 Net 代码库 并且我正在尝试向团队引入单元测试 他们是好人 但这对他们来说是全新的 老实说 这对我来说也是相当新的 问题之一是代码库大量使用 System IO 中的静态类 有大量的内部静态类库 并且类不会写入接
  • 如何知道您的单元测试装置是否“尺寸合适”?

    您如何知道 测试夹具 的尺寸是否合适 我所说的 测试夹具 是指一个包含大量测试的类 我在测试装置中一直注意到的一件事是它们变得有点冗长 鉴于它们也可能不够详细 您如何了解单元测试的大小是否合适 我的假设是 至少在 Web 开发的背景下 您应
  • 使用 testify 模拟接口方法两次,输入和输出不同

    如何在 golang 测试中模拟接口方法两次 例如 type myCache interface Get key string data interface error type service struct cache myCache f
  • 如何扩展 ember-cli 插件?

    在我的 ember cli 应用程序中 我安装了一个名为的插件 ember cli selectize 查看目录结构 我可以看到它的文件位于 node modules ember cli selectize 现在我想创建一个扩展此插件的自定
  • UnitTest HttpResponse WriteAsync 和 CopyToAsync

    我想对下一个方法进行单元测试 public static async Task SetResponseBody HttpResponse response string message var originalResponseBody re
  • Ember - 如何在嵌套数据对象上使用pushObject?

    由于这篇文章 我已经可以将新对象推入 jobs 和 jobProducts 数组中如何在 Ember js 中创建嵌套模型 https stackoverflow com questions 9186214 how to create ne
  • 如何对嵌套函数进行单元测试? [复制]

    这个问题在这里已经有答案了 您将如何对嵌套函数进行单元测试f1 在下面的例子中 def f def f1 return 1 return 2 或者需要测试的函数不应该嵌套吗 有一个类似的问题这个链接 https stackoverflow
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我

随机推荐