gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:51:05 25 4
gpt4 key购买 nike

我认为这个问题说明了大部分问题。我有一个由 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com