运行一个单独的测试文件

11 浏览
0 Comments

运行一个单独的测试文件

有没有办法在编辑一个文件时,只对单个文件运行ng test,而不是整个测试套件?理想情况下,我希望在编辑文件时能尽快获得反馈,但是karma在每次保存时都会执行整个测试套件,当测试套件足够庞大时,这会有点慢。\n


\n这与如何使用angular-cli只执行一个测试规范不同,因为那个问题是关于运行单个规范,而这个问题是关于运行单个文件。解决方案涉及相同的Jasmine规范功能,但问题的性质略有不同。

0
0 Comments

在使用ng test命令运行测试时,有一个额外的选项--include,可以用于运行单个文件、特定目录或一系列文件的测试。这个选项在Angular 9中似乎已经被移除了,但实际上它在NG 9中仍然可用。根据我的测试,它甚至在Angular 11中仍然可用。

然而,在Angular 14中似乎已经不存在这个选项了,可能是被移除了或者发生了其他变化。在官方的ng cli文档中也没有找到相关的信息。

如果需要在Angular 14中运行单个测试文件的话,可能需要寻找其他解决方法或者使用不同的命令。

0
0 Comments

Running a single test file(运行单个测试文件)这个问题的出现的原因是在Angular CLI的版本8.1.0之后,开发团队引入了一个新的特性,即通过使用include选项来运行单个测试文件。然而,在版本9.1中,这个特性似乎被移除了。不过,从版本10.0.4开始,这个特性又重新生效,并且在版本12和版本13.0.4中也可以正常工作。

要解决这个问题,只需在运行测试命令ng test时添加--include选项,并指定要运行的测试文件的路径模式。例如,可以使用如下命令来运行someFolder目录下的所有.spec.ts文件的测试:

ng test --include='**/someFolder/*.spec.ts'

需要注意的是,这个特性在不同的Angular CLI版本中可能会有所不同。在旧版本中可能不可用,或者在某些版本中被移除。因此,在使用这个特性之前,应该先确保你的Angular CLI版本符合要求。

总结起来,通过使用include选项,并指定要运行的测试文件的路径模式,我们可以在Angular CLI中轻松地运行单个测试文件。这个特性在不同的Angular CLI版本中可能会有所不同,所以在使用之前要确保你的CLI版本符合要求。

0
0 Comments

问题的出现原因是在使用Jasmine进行测试时,想要只运行单个测试文件,但是没有直接的方法可以实现。解决方法是使用Jasmine的特定方法进行焦点测试。可以使用来仅运行相关的测试。想要只运行当前文件时,可以将最顶层的改为。如果使用的Jasmine版本低于2.1,则需要使用。这种解决方法可以让Karma只运行相关的测试,但是需要修改源代码,可能会在源代码控制中提交修改后的代码,不是最理想的解决方法。在官方文档中没有明确提到这个重要的功能,需要在Stack Overflow等社区寻求解决方案。如果项目有100个测试文件,并且只想运行其中一个文件,ng test命令会编译所有文件,这种情况下需要采取其他解决方法。在文章中提到了Jasmine的官方文档和相关的Stack Overflow文章链接。

0