javascript - 如何在 Jasmine/Maven 自动生成的 Manual SpecRunner.html 中配置我的 javascript 文件的路径?

标签 javascript maven maven-plugin maven-3 jasmine

我认为这个问题说明了大部分问题。我有一个由 maven/jasmine 插件创建的自动生成的 ManualSpecRunner.html 文件,我已经通过使用将其自身放入可部署的 .war 中:

<jasmineTargetDir>${basedir}/pathForMyWebapp</jasmineTargetDir>

但是,ManualSpecRunner.html 中指向 js 文件的所有链接都是硬编码的 file:///引用 - 这有点精神,我希望它们只是 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 并且不打算与您的应用程序捆绑在一起(它类似于 target/surefire -reports 由 maven-surefire-plugin 为 Java 单元测试生成)。所以 ManualSpecRunner.html 中的脚本标签指向无效位置的原因是因为生成该文件是为了从正在构建项目的工作站的浏览器中的本地文件系统运行(以促进测试驱动开发)。

综上所述,如果我没看错你的意图,我认为构建第三个规范运行器将是一个很酷的功能,它可以与应用程序一起部署并远程执行。 (特别是如果项目的 Jasmine 规范是功能性/集成的,而不是孤立的单元测试。)不幸的是,该项目还没有做到这一点。

恐怕目前,如果您需要捆绑 jasmine 测试并在部署的服务器上执行它们,您需要将 ManualSpecRunner.html 和 jasmine 复制到您的 src/main/webapp,修复脚本标签引用,然后在添加和删除文件时手动维护它。

有道理吗?

关于javascript - 如何在 Jasmine/Maven 自动生成的 Manual SpecRunner.html 中配置我的 javascript 文件的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5886594/

相关文章:

java - 从maven获取JRE

java - 在Ubuntu 12.04上安装Hadoop 2.6.0

java - 在多模块 Maven 项目中使用配置文件

maven-2 - 字符串数组作为 Maven 插件的命令行参数

php - 有什么方法可以用 JS 和 PHP 来实现 "backend media queries"吗?

javascript - 使用 $scope.foo 与 food.value 的优点

javascript - 如何在 Openedx 上添加注册表单验证条件?

javascript - 从 Kinetic JS Image 获取像素数据

java - Eclipse 4.7.0 中的 Tomcat 8.5 看不到已更改的 HTML 文件

maven - Servlet 3.0 需要 webxml 属性