运行一个单独的测试文件
运行一个单独的测试文件
有没有办法在编辑一个文件时,只对单个文件运行ng test
,而不是整个测试套件?理想情况下,我希望在编辑文件时能尽快获得反馈,但是karma
在每次保存时都会执行整个测试套件,当测试套件足够庞大时,这会有点慢。\n
\n这与如何使用angular-cli只执行一个测试规范不同,因为那个问题是关于运行单个规范,而这个问题是关于运行单个文件。解决方案涉及相同的Jasmine规范功能,但问题的性质略有不同。
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版本符合要求。
问题的出现原因是在使用Jasmine进行测试时,想要只运行单个测试文件,但是没有直接的方法可以实现。解决方法是使用Jasmine的特定方法进行焦点测试。可以使用