【问题标题】:How to download Play! Framework dependencies before test phase?如何下载播放!测试阶段之前的框架依赖项?
【发布时间】:2014-10-24 23:09:26
【问题描述】:

我有某些 webjar 依赖项(requirejs、jQuery、angular 等),我希望 Play 2.3.x 在测试阶段之前下载到目标文件夹中,以便我可以在 jasmine 单元测试中使用它们。依赖关系在 build.sbt 中定义,它们现在只在 dist 阶段下载;所以在测试阶段运行的 jasmine 测试不能使用它们。

有没有办法在 Play 中下载某些或所有依赖项! 2.3.x 在测试阶段之前?我使用 maven 进行构建,并且可以配置自定义激活器任务(如果有的话)在测试阶段之前运行。

对此的替代方法是将 jasmine 测试配置为在验证阶段运行,但这些是单元测试,我希望它们在测试阶段运行。

【问题讨论】:

  • 目前如何定义这些依赖关系?
  • @RichDougherty 依赖项在build.sbt 中定义。
  • 我希望你能粘贴你用来定义依赖关系的代码,这样我就可以查看代码,看看是否有任何问题。 sbt-web 引入了新的分类器,但我不确定你是否需要它们。
  • @RichDougherty 定义 deps 并没有什么特别之处,它与我在之前的回复中发布的 playframework 链接中的示例非常相似。这是一个(部分)sn-p:libraryDependencies ++= Seq( "org.webjars" % "requirejs" % "2.1.14-2", "org.webjars" % "jquery" % "2.1.1", )

标签: playframework


【解决方案1】:

我会去

activator update
activator stage
activator test

命令“update”将下载所有依赖项,“stage”将生成项目文件到目标目录而不生成zip包(我在运行测试后将它用于jenkins部署),最后我运行测试。

【讨论】:

  • 谢谢。 Stage step 实际上打包了应用程序,运行了所有的 requirejs 缩小,这一步需要很长时间。目前我在 maven process-test-resources 生命周期阶段运行activator dist。恕我直言, dist 比 stage 稍好,因为 dist 不会留下目标/通用文件夹,而是创建一个包含所需二进制文件的单个 zip 文件。在使用单元测试验证 javascript 源代码之前,我试图避免完整的打包步骤。
【解决方案2】:

在 Play 2.5.3 中,activator test 在运行测试之前将依赖项下载到目标文件夹中。不确定这是否出现在以前的版本中。在运行需要 webjar 依赖项的测试之前,我不需要执行 activator dist

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 2015-07-18
    • 2012-01-04
    • 2014-04-03
    • 2014-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多