Angular 2 中的 ag-grid 单元测试

2024-05-04

有人在 Angular 2 中对 ag-grid 组件进行过单元测试吗?

对我来说,测试用例运行时 this.gridOptions.api 仍然未定义。


很抱歉参加聚会有点晚了,但几天前我一直在寻找这个问题的答案,所以想为最终来到这里的其他人留下答案。正如 Minh 上面提到的,现代的等价物$digest确实需要运行才能使 ag-grid api 可用。

这是因为在之后onGridReady()已运行,您可以通过参数访问 api,如下所示。当带有网格的组件初始化时,它会自动运行。假设它是在网格中定义的(gridReady)="onGridReady($event)"

public onGridReady(params)
{
   this.gridOptions = params;
}

现在这意味着您可以访问this.gridOptions.api并且它将被定义,您需要通过运行在测试中重新创建它detectChanges()。以下是我如何让它为我的项目工作。

fixture = TestBed.createComponent(TestComponent);
component = fixture.componentInstance;

fixture.detectChanges(); // This will ensure the onGridReady(); is called

这应该会导致.api在运行测试时定义。这是 Angular 6。

有时,测试可能必须执行等待或勾选:

  it('should test the grid', fakeAsync( async () => {
    // also try tick(ms) if a lot of data is being tested
    // try to keep test rows as short as possible
    // this line seems essential at times for onGridReady to be processed.
    await fixture.whenStable();
    // perform your expects...after the await
  }));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular 2 中的 ag-grid 单元测试 的相关文章

随机推荐

  • 如果我在不打算升级到 websocket 连接的 HTTP 请求中包含“Upgrade”和“Connection”标头,会发生什么情况?

    我有一个 Nginx 服务器块 用于代理对 node js 服务器的请求 该服务器同时提供 HTTP 内容和 WS websocket 内容 是否可以在不应升级到 Websocket 连接的请求上添加升级标头 即使用 Nginx 代理到服务
  • RedirectToAction 导致 ASP.NET MVC 3 中“路由表中没有与提供的值匹配的路由”

    我有一个项目最近升级到 ASP NET MVC 3 在我的本地计算机上 一切正常 当我部署到服务器时 每当我使用RedirectToAction称呼 它抛出一个System InvalidOperationException与错误消息路由表
  • 我可以在 C++ 结构上实现 .ToString() 以进行调试吗?

    在 C 中 如果我定义了一个结构体 我还可以重写 ToString 然后 当我进行调试并添加监视或将鼠标悬停在结构的实例上时 工具提示将是计算出的 ToString 而不是结构的类型名称 我可以在 C 和 或 C CLI 中以某种方式做到这
  • 为什么我不能将一个类划分为多个文件

    我正在尝试创建一个类TestClass它分为几个文件 我将它分成 3 个文件 其中第一个文件TestClassPart1 php已经开始上课了class TestClass 和最后一个文件TestClassPart3 php有班级的右括号
  • python统计前10名

    使用Python 2 6 我有很大的文本文件 以下是前 3 个条目 但我需要检查超过 50 个用户 html log jeff 1153 3 1 84 625 54 1 2 71 3 2 10 7 58 499 3 5 616 36 241
  • ruby 运算符 ||= 智能吗?

    我有一个关于 ruby 中 语句的问题 这对我特别感兴趣 因为我正在使用它写入内存缓存 我想知道的是 首先检查接收器 看看它在调用该设置器之前是否已设置 或者它实际上是一个别名x x y 对于普通变量来说这并不重要 但使用类似以下内容 CA
  • firestore 读取是异步的,我想要同步行为

    我想在本地存储从云端读取的数据 为了实现这一点 我使用一个全局变量 quizzes 来保存所有数据 为此 当我构建我的Quiz对象 我需要确保在创建它们之前 相关数据已经从云端下载 因为从 firestore 读取数据时 它是异步发生的 我
  • 在 Python 中向字典中添加新项目[重复]

    这个问题在这里已经有答案了 如何在 Python 中向现有字典添加项目 例如 给定 default data item1 1 item2 2 我想添加一个新项目 default data default data item3 3 defau
  • SQLite3内存数据库到磁盘的纯Python备份

    在不安装额外模块的情况下 我如何使用SQLite备份API https sqlite org c3ref backup finish html将内存数据库备份到磁盘数据库 我已成功执行磁盘到磁盘备份 但将已存在的内存中连接传递给sqlite
  • 在动态 Web 项目中处理配置(数据库登录名和密码等)的正确方法是什么?

    我刚刚开始使用 JSP 进行动态 Web 编程 处理配置的正确方法是什么 例如 数据库名称 主机 登录名和密码以及服务器中的索引目录等 我最关心的是密码的安全性 目前我将数据硬编码到 java 文件中 我认为这不是正确的方法 所以我想从您的
  • 如何在MySQL中使用数字字符串的比较运算符?

    我有一个员工表 有类似领域的经验VARCHAR类型 此字段结合了用短划线 分隔的总年份和总月份 因此我必须按年份过滤具有 3 年以上经验的经验 我的表结构 所以现在我必须获得3年以上经验的id 我尝试如下 SELECT FROM emplo
  • 使用 Python 的 email.generator 包创建电子邮件草稿

    我目前正在使用此代码通过 Python 生成电子邮件 from email import generator from email mime multipart import MIMEMultipart from email mime te
  • 相机图像旋转问题

    我在这里面临一个非常奇怪的问题 当我在纵向模式下单击图像并上传它 然后再次获取它时 它会逆时针旋转 90 度显示 但是当我在相机胶卷中看到它时 它会以正确的方向显示 因为它被拍摄 我已经尝试了几乎所有可能的链接 代码来解决这个问题 但似乎没
  • 显示删除了多少行

    我使用C 程序 我的数据库是SQL Server 2008 当用户从数据库中删除一些行时 我想在 Windows 应用程序中向他 她显示删除了多少行 我想知道如何将 SQL 消息发送到 C 并向用户显示 例如 当我从表中删除 4 行时 SQ
  • 删除框架,同时保留 pyplot 子图中的轴

    我正在创建一个包含 3 个子图的图形 并且想知道是否有任何方法可以移除它们周围的框架 同时保持轴就位 如果您想删除轴脊 但不想删除其他信息 刻度 标签等 您可以这样做 fig ax plt subplots 7 1 sharex True
  • 在 F# 中“合并”受歧视的联合?

    继从这个问题 https stackoverflow com questions 53506325 result vs raise in f async 我在组合不同类型时遇到问题Result类型在一起 以下是一个人为的示例 不是真实的代码
  • AppCompat Spinner 的 TextInputLayout 错误对齐问题

    我正在使用一个显示下拉列表的应用程序Spinner与EditText作为一个孩子TextInputLayout在它的旁边 当下面显示带下划线的错误时TextInputLayout 那么EditText会上升 并且对齐会丢失 请看我的截图 我
  • 为什么mysql状态key_reads,key_reads_request的值为零?

    我对 mysql 状态有些困惑 mysql gt 显示类似 key 的状态 Variable name Value Com assign to keycache 0 Com preload keys 0 Com show keys 0 Ha
  • 如何更新我的流星项目中的 cordova-plugin-device ?

    当我运行流星项目时 我收到此警告 警告 尝试安装插件 电子邮件受保护 cdn cgi l email protection 但 它的最低版本应为 1 1 1 以确保与 当前平台版本 安装最小 版本以方便起见 但您应该调整您的依赖项 然后 我
  • Angular 2 中的 ag-grid 单元测试

    有人在 Angular 2 中对 ag grid 组件进行过单元测试吗 对我来说 测试用例运行时 this gridOptions api 仍然未定义 很抱歉参加聚会有点晚了 但几天前我一直在寻找这个问题的答案 所以想为最终来到这里的其他人