标签:javascript maven maven-3 jasmine maven-plugin
我认为这个问题大部分都是如此.我有一个由maven / jasmine插件创建的自动生成的ManualSpecRunner.html文件,我已经通过使用它将自己置于可部署的.war中:
<jasmineTargetDir>${basedir}/pathForMyWebapp</jasmineTargetDir>
但是,ManualSpecRunner.html中js文件的所有链接都是硬编码文件:///引用 – 这有点精神,我希望它们只是webapp中文件的相对路径,即
目前它给了我这条道路:
file:///home/username/code/HEAD/pathForMyWebapp/js/yui.js
而我需要它更简单
/pathForMyWebapp/js/yui.js
我已经尝试在maven脚本中更改另外两个变量,但似乎都没有达到预期的效果,这些配置选项都没有做我需要的,第二个似乎没有效果:
<jsSrcDir>/pathForMyWebapp</jsSrcDir>
也不
<jsTestSrcDir>/pathForMyWebapp</jsTestSrcDir>
我查看了文档,但认为我必须遗漏一些东西(另外,关于https://github.com/searls/jasmine-maven-plugin/blob/master/src/main/java/com/github/searls/jasmine/AbstractJasmineMojo.java中列出的各种配置参数的更多注释是有帮助的,所以如果我做错了或者如果不可能,我可以解决!)
有什么建议?
[附注:我已经更改了一些路径名称,因为他们有敏感信息,所以请忽略他们的奇怪!]
解决方法:
我想我理解你困惑的根源.看起来您正试图将jasmine-maven-plugin的目标定向到项目打包的* .war文件中的目录,这样您可以在部署到服务器后对代码运行规范,这是正确的吗?
不幸的是,该插件并没有考虑到这种用途. jasmineTargetDir目录通常保留其默认值target / jasmine,并不打算与您的应用程序捆绑在一起(它类似于maven-surefire-plugin为Java单元测试生成的target / surefire-reports).因此,ManualSpecRunner.html中的脚本标记指向无效位置的原因是因为生成该文件是为了从浏览器中的本地文件系统运行构建项目的工作站(以便于TDD).
所有这些都说,如果我正确地阅读你的意图,我认为构建一个可以与应用程序一起部署并远程执行的第三个规范运行器是一个很酷的功能. (特别是如果该项目的Jasmine规范是功能性/集成而不是孤立的单元测试.)不幸的是,这不是项目所做的事情.
我担心,如果你需要捆绑茉莉花测试并在部署的服务器上执行它们,你需要将ManualSpecRunner.html和jasmine复制到你的src / main / webapp中,修复脚本标记引用,然后在添加和删除文件时手动维护它.
合理?
标签:javascript,maven,maven-3,jasmine,maven-plugin 来源: https://codeday.me/bug/20190626/1296194.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。