首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NullInjectorError:没有SwUpdate的提供程序!运行ng测试时

这个错误是Angular测试中的一个常见错误,它表示在测试中找不到SwUpdate的提供程序。SwUpdate是Angular的一个内置服务,用于管理应用程序的更新。

要解决这个错误,可以尝试以下几个步骤:

  1. 确保在测试文件中正确导入了SwUpdate服务。在测试文件的顶部添加以下导入语句:
代码语言:txt
复制
import { SwUpdate } from '@angular/service-worker';
  1. 确保在测试文件的providers数组中提供了SwUpdate服务。在测试文件的providers数组中添加以下代码:
代码语言:txt
复制
providers: [
  SwUpdate
]
  1. 如果你的应用程序中没有使用SwUpdate服务,可以考虑在测试文件中模拟SwUpdate服务。可以使用Angular的测试工具 TestBed 来模拟服务。在测试文件的providers数组中添加以下代码:
代码语言:txt
复制
providers: [
  { provide: SwUpdate, useValue: {} }
]

这样做可以模拟一个空的SwUpdate服务,以解决NullInjectorError错误。

总结: NullInjectorError:没有SwUpdate的提供程序!运行ng测试时,是因为在测试中找不到SwUpdate的提供程序。可以通过正确导入SwUpdate服务并在测试文件的providers数组中提供SwUpdate服务来解决这个错误。如果应用程序中没有使用SwUpdate服务,可以考虑模拟一个空的SwUpdate服务来解决错误。

相关搜索:ngx-NullInjectorError-io ng测试“WrappedSocket:没有提供程序!”获取NullInjectorError:尝试运行Angular测试时没有存储提供程序错误应用程序测试返回"NullInjectorError:没有位置提供程序!“测试UpgradeComponent抛出NullInjectorError:没有$injector的提供程序!错误NullInjectorError:没有t的提供程序!NullInjectorError: StaticInjectorError(ba)[Cw -> t]:HttpClient单元测试NullInjectorError:没有为Angular提供程序!错误NullInjectorError:没有NgZone的提供程序!(Angular 6库)NullInjectorError:没有NotifierQueueService的提供程序!Karma Angualr 6NullInjectorError:没有用于ChangeDetectorRef的提供程序InjectionToken测试NullInjectorError:没有InjectionToken fileName的提供者ERROR NullInjectorError: R3InjectorError(DynamicTestModule)[KDSDialogService -> MatDialog -> MatDialog]:NullInjectorError:没有MatDialog的提供程序NullInjectorError:没有路由器的提供程序!错误角度2错误NullInjectorError: R3InjectorError(n)[_0 -> _0 -> _0]:NullInjectorError:没有_0的提供程序!-当使用Angular MatDialog时获取“NullInjectorError:没有用于NgControl的提供程序!”使用自定义控件时EditableRow可编辑行- NullInjectorError:没有用于Primeng的提供程序测试NG中具有数组列表的数据提供程序没有RuntimeCompiler的运行时提供程序仅在提供程序中的useEffect完成时运行测试NullInjectorError:使用Angular材质9.1的angular 9应用程序的IE 11中没有function DomSharedStylesHost(_doc)提供程序我使用的是Angular 9,运行ng测试时出现错误
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【swupdate文档 一】嵌入式系统的软件管理

应用程序进行软件升级的策略 应用程序也可以用于升级系统,而不是使用引导加载程序。 应用程序可以使用操作系统提供的所有服务。...每个副本必须包含内核、根文件系统和每个可以更新的组件。 需要一种机制来识别正在运行的版本。 SWUpdate应该集成到应用程序软件中, 当需要更新时,应用程序软件将触发它。...双拷贝:SWUpdate没有在备份系统和当前系统之间做切换。 当前版本的软件,并没有被更新触及到,会再次启动。 为了完全安全,SWUpdate和引导加载程序需要交换一些信息。...在投产前,SWUpdate被针对这个项目进行过很好的测试。 如果SWUpdate本身应该被更新,那么当存储中只有一个SWUpdate副本时, 更新就不是安全的。...但同样,没有通用的解决方案,因为它是 非常 特定于硬件的。 根据我的经验,大多数产品不允许更新引导加载程序。 当产品准备好量产时,还必须要更新引导加载程序,这种情况是非常少见的。

2.1K20

【swupdate文档 三】SWUpdate: 嵌入式系统的软件升级

在这种情况下,更新是在没有操作员干预的情况下完成的:它被认为是“一键更新”,软件在复位时启动,只需按下一个键(或者以任何目标可以识别的方式),自动进行所有检查。...它通常用于单拷贝方案中,在initrd中运行(用Yocto提供的配方生成)。但是,通过使用软件集合( collections ),可以在双拷贝方案中使用它。...可以配置为检查软件和硬件之间的兼容性。软件映像必须包含条目,声明这个软件可在什么版本硬件上运行。如果没有通过兼容性验证,SWUpdate将拒绝安装。 支持镜像提取。...不仅如此,发行版包还允许为了测试目的在Linux PC上运行SWUpdate,而不必与依赖项做斗争。使用debhelper工具,可以生成debian包。 编译一个debian包的步骤 ....脚本“altbootcmd”设置启动SWUpdate的规则 当需要SWUpdate时, U-boot运行脚本"altbootcmd" 更改U-Boot环境变量是安全的吗?

4.3K11
  • 【swupdate文档 四】SWUpdate:使用默认解析器的语法和标记

    通过识别哪个是正在运行的设备,解析器返回一个表, 其中包含必须安装的镜像及其关联的处理程序。 读取交付的镜像时,SWUpdate将忽略解析器处理列表之外的所有镜像。...当在其他板子上运行时,SWUpdate则无法找到一个与板子名字对应的条目, 那它就会退回到没有指定板子名字的版本。 这样就可以使用一个发布版本,适配拥有完全不同硬件的不同板子。...如何找到正在运行SWUpdate的板子的修订版本,是另一件事情了。 这里并没有假设如何获得修订版本(可以通过GPIOs,EEPROM等), 每个项目都可以自由选择最合适的方式。...它们在执行之前会被复制到一个临时目录中, 并且它们的名字在同一个cpio归档中必须是惟一的。 如果没有给出类型,SWUpdate默认为 "lua"。..., 它是由处理程序在注册自身时设置的。

    3.3K20

    【swupdate文档 五】从可信的来源更新镜像

    从可信的来源更新镜像 现在越来越重要的是,设备不仅要能安全地进行更新操作, 而且要能够验证发送的图像是否来自一个已知的源, 并且没有嵌入恶意软件。...这会导致,如果校验失败,需要对已经安装好的镜像做一些取消安装的操作, 这种取消安装的操作,在碰到掉电时,可能会导致一些不希望保留的数据被保留在设备上。...不过这样存在一个问题,子镜像没有跟sw-descrription文件中的发布描述绑定到一起。...这意味着只有经过验证的源代码生成的sw-description才能被安装程序接受。 而sw-description包含每个子镜像的哈希值,可验证每个交付的子镜像确实属于本次发布。...一旦激活,SWUpdate将始终检查复合图像。 出于安全原因,不可能在运行时禁用检查。 -k参数(公钥文件)是必须的,如果公钥没有传递,程序将终止运行。

    1.4K20

    IoT固软件更新及开源选项

    假想一下, 恶意黑客将所有这些易受攻击的连接设备作为潜在攻击目标的话, 这些设备运行在不安全或过时的Linux 内核上, 有些漏洞还没有被修补过, 并且可以被远程控制! 这可不是一个有吸引力的场景。...总之, 基于包管理器的更新不是原子的, 因此很难测试和支持它们。 这通常会导致对设备固件实际状态的跟踪, 以及令人畏惧的"上次更新了什么?" 等问题。...Ubuntu “Snappy” Core [7] Ubuntu Core 是一个基于 Ubuntu 的最小化操作系统, 它提供了与docker类的应用程序。...与所有早期的决定一样, 错误的选择会给发展带来沉重的负担。 那些时间与市场紧密相连的项目可能会倾向于更传统的、经过测试的、完整的固件更新策略。...这些包括通过 Yocto Project 的 meta-swupdate 层提供的各种技术, 以及像 Digi International 的 Remote Manager 这样的为企业准备的 OTA

    1.6K20

    SSL VPN搭建与使用(OpenVpn)

    要打通的VPC网段)和对端网段(客户端内网网段),填写端口、认证算法、加密算法等信息:图片三、创建SSL客户端选择上一步创建的服务端,填写好备注名后点确定即可:图片四、添加VPC路由云上访问云下时,会查找...五、SSL配置文件下载openvpn是Linux下的开源先锋,提供了良好的性能及友好的用户GUI,官方也推荐使用openvpn作为ssl vpn客户端使用,接下来将展示在Windows、Debian、Centos...如果ping不通云上vpc机器,确保机器没有禁ping、安全组、acl有正常放通客户端内网网段。...,经过两端抓包验证即日志梳理并没有发现任何异常,并全权按照官方指引配置,在多个网络环境和多个CentOS/RedHat版本镜像测试复现,怀疑为官方BUG导致,因此如有遇到,建议安装下面的openvpn2...到此openvpn已正常运行,另开一个tty测试连通性:图片4.openvpn会话管理openvpn允许同时运行多个配置文件及会话,通过以下命令可以管理会话:openvpn3 sesstions-list

    30.8K106

    视频会议系统Polycom HDX远程命令执行漏洞分析

    在快速查阅Polycom技术文档的同时,我也参考了PSH中help命令提供的信息,综合这些信息,我明确了哪些文件是我们的寻找目标。...我解压了polycom_swupdate目录中所有的.tar.gz文件,然后执行grep命令来搜索包含某个已知命令的文件。...貌似程序会过滤掉分号(;),我们并不知道为什么会出现这种情况,可能是之前部分修复ping注入漏洞时的历史遗留问题。另一个问题是,在底层Polycom设备上,我只能使用数量有限的预置程序。...我们希望能获得netcat反弹式shell,所以我们需要找到能在Polycom设备上运行的nc程序。...Polycom运行在powerpc上,也就是说我们需要找到兼容的nc程序,而不能直接把本地系统的nc程序上传到设备上。这并不是一个真正的难题,很容易解决。

    2.5K20

    SoapUI和SoapUI Pro的7个重要功能

    漏洞测试 SoapUI和SoapUI Pro工具提供了一些选项,可以保护网站免受黑客和病毒软件应用程序的侵害。漏洞测试是一种测试,可以帮助我们确定Web应用程序的薄弱环节。...在执行负载测试之后,LoadUI将生成一个报告,该报告有助于确定应用程序是否可以在高负载下运行。 #5。Groovy自动化 如前所述,我们可以使用基于SOAP和REST的服务在SOAPUI中进行验证。...它在执行测试步骤时基本上通过将响应消息与响应消息的任何部分或整个消息进行比较来验证响应消息。 对于例如,如果我们有一个验证的Web服务,应验证用户提供的登录凭据。假设Web服务响应为JSON格式。...5.所有REST,SOAP API和其他服务组件都可以通过简单的拖放方法使用 6.在SoapUI NG Pro中,从外部数据源(例如Excel,XML,JDBC数据源和文件/目录等)检索信息时,数据驱动功能几乎没有增强...复杂的场景:SoapUI NG Pro使客户端-服务器体系结构中涉及的API更容易 拖放测试创建:存在的情况下,通过拖放功能可以轻松创建和运行测试方案 SoapUI团队还为LoadUI Pro用户引入了

    2.4K10

    Angular中environments的神奇之处

    前言 在使用angular脚手架构建angular项目时,都会给我们生成一个名叫environments的文件夹。从字面意识理解像是环境变量的意思。 ?...例如: 比如environment.prod.ts对应的就是prod环境,你有多少个环境这里就新建多少个文件。(当然没有的就是默认的运行环境) 只有这些文件并起不了作用。...本地调试的时候 ng s -e=prod 简单解释下, ng:angular脚手架提供的命令操作 s: serve 的简写,运行程序 -e=prod: -env=prod的简写,大概意思就是启用prod...的运行环境配置,prod就是在上面json文件中配置的环境名。...这样通过environments来控制的话,就不担心在测试,生产,开发环境来回切换时去改配置文件了。 演示一下 默认环境 ? 默认环境 ng s 打开浏览器查看 ?

    1.9K20

    【Hybrid开发高级系列】AngularJS(一)——基础专题

    然后安装Testacular单元测试程序,请运行如下命令: npm install -g testacular     3....尽管AngularJS没有强迫你使用Jasmine,但是我们在教程里面所有的测试都使用Jasmine编写。...你可以像下面这样运行测试:     1、在一个单独的终端上,进入到angular-phonechat目录并且运行....注入器唯一的职责是载入指定的服务模块,在这些模块中注册所有定义的服务提供者,并且当需要时给一个指定的函数注 入依赖(服务)。这些依赖通过它们的提供者“懒惰式”(需要时才加载)实例化。         ...提供者是提供(创建)服务实例并且对外提供API接口的对象,它可以被用来控制一个服务的创建和运行时行为。

    55080

    如何使用Facad1ng隐藏真实的URL地址

    关于Facad1ng Facad1ng是一款功能强大的URL地址隐藏工具,该工具完全开源,基于Python开发,可以帮助广大Web应用程序开发人员或安全研究人员通过隐藏应用程序的真实URL地址来提升应用程序的安全...3、输入验证:Facad1ng提供了强大的输入验证功能,以确保URL、自定义域名和关键字符合要求,以防止错误并增强安全性; 4、用户友好的接口:Facad1ng提供了简单直观且易于使用的界面,并且不需要进行复杂的命令行输入操作...,新手用户也可以轻松使用该工具完成安全提升或测试; 5、完全开源:作为一个开源项目,Facad1ng是完全透明的,由社区维护,用户可以贡献自己的代码或提供自己的更新建议; 支持的操作系统 Windows...即可使用下列命令运行Facad1ng: python3 facad1ng.py 除此之外,我们还可以使用PyPI来安装Facad1ng: pip install Facad1ng 工具使用流程 假设你的真实...# 定义Facad1ng 脚本的运行命令和运行参数 command = ["python3", "-m", "Facad1ng.main", "https://ngrok.com", "facebook.com

    40910

    Angular CLI 简介

    打开main.bundle.js可以看到我写的代码: 下面运行程序: ng serve -o: 可以看到在ng serve的时候, 加载了上述的文件....因为ng build是开发时的build, 所以没有做任何优化, 文件挺大的. 这时看一下文件目录, 并没有dist目录: 那么这些文件是怎么被serve的呢?...user ng g c admin/email 然后配置一下路由, 最重要得到这个效果: 这时我重新执行一下ng test: 尽管程序运行没有问题, 但是测试还是出现了问题: router-outlet...可以看一下spec list: 这时因为运行测试的时候, admin模块是独立运行的, 所以该模块并没有引用Router模块, 所以无法识别router-outlet. 那么如何解决这个问题?...-sm 生成sourcemaps 默认开启 --watch -w 运行测试一次, 并且检测变化 默认开启 ng test 就是运行测试, 并且如果文件有变化, 就会重新运行测试.

    6.1K110

    为渗透测试准备的 10 大黑客工具评论(0)

    Nmap 提供大量的选项用于扫描单个或一个范围段的 IP 、端口或主机。它也可以被用来扫描子网, 识别主机上运行的服务, 检测远程操作系统版本, 发现安全漏洞等, 是一个功能非常强大的工具。...Nikto:https://cirt.net/Nikto2 类别:web 漏洞扫描程序 Nikto 是 pen 测试社区中非常有名的另一个工具。它是依据 GPL 协议提供的开源工具。...Nikto 在其界面中提供多个选项以对主机进行设置。它扫描主机以发现潜在的漏洞,例如服务器配置错误、host 文件和程序安全隐患、可能存在风险的过时程序以及可能会对服务器造成风险的特定版本的问题。...目前 Nessus 的免费版本仅在非企业环境中运行。为了达到安全审核的目标,Nessus 仍然是一个受欢迎的漏洞扫描程序,但企业版扫描现在需要一年约 2,000 美元的许可证费用。...它工作在监控模式时不断地捕获网络数据, 一旦足够的数据被捕获, 便开始运行破解算法计算 WEP 和 WPA 秘钥。

    97021

    tools for penetration test

    它也可以被用来扫描子网, 识别主机上运行的服务, 检测远程操作系统版本, 发现安全漏洞等, 是一个功能非常强大的工具。它的输出信息常被用来做为渗透测试前的分析。...Metasploit 漏洞挖掘框架 Metasploit 框架提供了一系列工具用来进行渗透测试。它是一个多用途 hack 框架,广泛地被渗透测试人员用来挖掘各种平台的漏洞、收集漏洞信息、测试补丁等。...Nikto web 漏洞扫描程序 Nikto 是 pen 测试社区中非常有名的另一个工具。它是依据 GPL 协议提供的开源工具。 Nikto 在其界面中提供多个选项以对主机进行设置。...OpenVAS 漏洞扫描 OpenVAS 是一款漏洞扫描程序,该工具是 2005 年最后一次免费版本的 Nessus 发行的分支。目前 Nessus 的免费版本仅在非企业环境中运行。...它工作在监控模式时不断地捕获网络数据, 一旦足够的数据被捕获, 便开始运行破解算法计算 WEP 和 WPA 秘钥。

    90070

    使用Angular CLI进行单元测试和E2E测试

    这时我重新执行一下ng test: ? 尽管程序运行没有问题, 但是测试还是出现了问题: router-outlet is not an angular component....这时因为运行测试的时候, admin模块是独立运行的, 所以该模块并没有引用Router模块, 所以无法识别router-outlet. 那么如何解决这个问题?...-sm 生成sourcemaps 默认开启 --watch -w 运行测试一次, 并且检测变化 默认开启 ng test 就是运行测试, 并且如果文件有变化, 就会重新运行测试....可以看到都是100%, 这是因为我没有写任何代码. 然后我在user component里面添加一些代码: ? 再运行一次 ng test --sr -cc: ? ?...只有catch部分没有覆盖到. 我认为代码覆盖率这个内置功能是非常好的. Debug单元测试. 首先执行ng test: ? 然后点击debug, 并打开开发者工具: ?

    2.8K70

    Angular实战之使用NG-ZORRO创建一个企业级中后台框架(进阶篇)

    钩子 用途及时机 ngOnChanges() 当 Angular(重新)设置数据绑定输入属性时响应。...[请求数据时使用] ngDoCheck() 检测,并在发生 Angular 无法或不愿意自己检测的变化时作出反应。...它允许你做以下这些事情: 创建一个新的 Angular 应用程序 运行带有 LiveReload 支持的开发服务器,以便在开发过程中预览应用程序 添加功能到现有的 Angular 应用程序 运行应用程序的单元测试...运行应用程序的端到端 (E2E) 测试 构建应用程序 使用命令添加功能到现有的 Angular 应用程序: 可以使用 ng generate 命令,为已有的 Angular 应用程序添加新的功能: ng...自定义页面Layout布局(动态菜单栏配置): 一般情况下我们的页面动态菜单都是从后台读取,然后遍历绑定在【app.component.html】页面中的,我们这里没有展示没有涉及到后台就是用固定式的路由

    4K20

    【17】进大厂必须掌握的面试题-50个Angular面试

    Angular中的提供程序是什么? 提供程序是Angular中的可配置服务。这是对依赖关系注入系统的一条指令,它提供有关获取依赖关系值的方式的信息。...Angular中的service()是用于应用程序业务层的函数。它作为构造函数运行,并在运行时使用’new’关键字调用一次。...这些模块通常包含组件,服务提供商和其他代码文件,其范围由包含的NgModule定义。有了模块,代码变得更加可维护,可测试和易读。同样,应用程序的所有依赖关系通常仅在模块中定义。...37.列出一些用于测试角度应用的工具吗?...当Angular找到ng-app指令时,它将加载与其关联的模块,然后编译DOM。 手动引导: 手动引导为您提供了有关如何以及何时初始化Angular应用程序的更多控制。

    41.5K51
    领券