Angularjs Karma-Maven插件失败
我尝试使用1.6插件将Karma与Maven集成,但失败并声明:Angularjs Karma-Maven插件失败,angularjs,karma-runner,Angularjs,Karma Runner,我尝试使用1.6插件将Karma与Maven集成,但失败并声明: ------------------------------------------------------- T E S T S ------------------------------------------------------- Results : Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] --- maven-karma-plu
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-karma-plugin:1.6:start (default) @ amm ---
[INFO] Executing Karma Test Suite ...
cmd /C C:\Dev\Workspaces\projectname\subname/src/main/webapp/node_modules/.bin/kar
ma start C:\Dev\Workspaces\projectname\subname\src\main\webapp\karma.conf.js --bro
wsers Chrome, Firefox --single-run --no-auto-watch --colors true
The system cannot find the path specified.
以下是我在mavenpom.xml中的设置:
<plugin>
<groupId>com.kelveden</groupId>
<artifactId>maven-karma-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
<configuration>
<karmaExecutable>${ammWorkspaceDir}/src/main/webapp/node_modules/.bin/karma</karmaExecutable>
<configFile>${ammWorkspaceDir}/src/main/webapp/karma.conf.js</configFile>
<browsers>Chrome, Firefox</browsers>
<autoWatch>false</autoWatch>
<singleRun>true</singleRun>
<colors>true</colors>
<skipKarma>false</skipKarma>
<skipTests>false</skipTests>
<karmaFailureIgnore>false</karmaFailureIgnore>
<!-- <reporters>dots,junit</reporters> -->
</configuration>
</plugin>
<plugin>
<groupId>com.kelveden</groupId>
<artifactId>maven-karma-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
<configuration>
<configFile>karma.conf.js</configFile>
<browsers>Chrome</browsers>
<autoWatch>false</autoWatch>
<singleRun>true</singleRun>
<colors>true</colors>
<skipKarma>false</skipKarma>
<skipTests>false</skipTests>
<karmaFailureIgnore>false</karmaFailureIgnore>
</configuration>
</plugin>
.bin
文件夹在哪里?请注意,我可以运行所有正常测试,但我必须导航到karma.conf.js
文件要运行它们的位置,并且可以使用karma start
运行测试(它们都通过)
那么,这为什么会失败呢?因果报应安装在错误的地方吗?节点
等是否应作为系统变量
存在
谢谢,我解决了这个问题。导致构建问题的原因是karma节点_模块
干扰了构建。为了解决这个问题,我必须从webapp
文件夹中删除node\u modules
,并将其移动到项目的根目录以及karma.conf.js
文件中
这是第一部分-第二部分是使用以下命令全局安装karma:
npm install -g karma && npm install -g karma-cli
通过这样做,你应该能够在任何地方运行业力,但这不是我的情况,我仍然不知道为什么(详细说明任何人?)。最后一部分是实际的mavenpom.xml
:
<plugin>
<groupId>com.kelveden</groupId>
<artifactId>maven-karma-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
<configuration>
<karmaExecutable>${ammWorkspaceDir}/src/main/webapp/node_modules/.bin/karma</karmaExecutable>
<configFile>${ammWorkspaceDir}/src/main/webapp/karma.conf.js</configFile>
<browsers>Chrome, Firefox</browsers>
<autoWatch>false</autoWatch>
<singleRun>true</singleRun>
<colors>true</colors>
<skipKarma>false</skipKarma>
<skipTests>false</skipTests>
<karmaFailureIgnore>false</karmaFailureIgnore>
<!-- <reporters>dots,junit</reporters> -->
</configuration>
</plugin>
<plugin>
<groupId>com.kelveden</groupId>
<artifactId>maven-karma-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
</executions>
<configuration>
<configFile>karma.conf.js</configFile>
<browsers>Chrome</browsers>
<autoWatch>false</autoWatch>
<singleRun>true</singleRun>
<colors>true</colors>
<skipKarma>false</skipKarma>
<skipTests>false</skipTests>
<karmaFailureIgnore>false</karmaFailureIgnore>
</configuration>
</plugin>
com.kelveden
maven karma插件
1.6
测试
开始
karma.conf.js
铬
假的
真的
真的
假的
假的
假的
上面的关键点是,我没有在这里包含
命令,因为如果包含该命令,那么它将中断-通过将其保留在外,它将转向全局karma安装来运行Maven构建中的测试。这对我有用-希望对你有用。你是使用-g标志安装的吗?@zogTheDog是的,我尝试使用npm install-g karma命令进行安装-然后尝试使用karma--version测试安装。它抱怨说,它找不到当地的因果报应。这对我来说意味着因果报应没有正确地安装。为了让我的测试运行,我必须将karma安装到本地项目文件夹中(这似乎是推荐的),因为当你找到答案时,你会按照自己的答案进行操作。你本可以继续前进并忘记这一点,但你一定要提供信息以节省其他人的时间。非常感谢。