我正在尝试测试我们的 play 2.4.x 应用程序,该应用程序大量使用 react 来渲染表和类似的东西。正常运行应用程序时,所有 javascript 都会得到处理并正确输出。然而,从我们的集成测试阶段(在 specs2 示例中使用扩展 WithBrowser 以支持 Selenium 的东西), Assets 显然不可用。
我们收到了很多类似以下的错误(我们尝试加载的每个 javascript 文件都有一个):
[error] - com.gargoylesoftware.htmlunit.html.HtmlPage - Error loading JavaScript from [http://localhost:19001/assets/lib/react/react-with-addons.js]
在测试/集成阶段之前,是否可以添加任何内容来告诉 play 处理我们的 javascript 管道?
最佳答案
您是否在 SBT 中使用 IntegrationTest 配置?
我遇到了同样的问题,最后通过添加以下内容解决了它:
(managedClasspath in IntegrationTest) += (packageBin in Assets).value
到我的 build.sbt
这对您来说可能不一样,但我正在使用 Gulp 生成我的 css 和 js 文件并将它们放在“out”目录中。因此,为了让它们被构建所接收,我还必须添加:
unmanagedResourceDirectories in Assets <+= baseDirectory { _ / "out" }
关于selenium-webdriver - 从集成测试中加载 javascript Assets (Play/Selenium),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156376/