我正在尝试使用基于和引用http://perevillega.com/post/2013/01/26/26/executing-jasmine-tests-in-play-204/的sbt-jasmine-plugin。但是,完成所有配置并修复错误后,播放测试会成功运行,但不会执行任何测试用例。
日志: [info]运行茉莉花...... 有关用法,请参阅https://github.com/jrburke/r.js。 [Envjs / 1.6(Rhino; U; Mac OS X x86_64 10.9.2; en-US; rv:1.7.0.rc2)Resig / 20070309 PilotFish / 1.2.13] JQMIGRATE:记录处于活动状态
通过:0 失败:0 总计:0
Build.scala:
import sbt._
import Keys._
import play.Project._
import com.gu.SbtJasminePlugin._
object ApplicationBuild extends Build {
val appName = "webapp"
val appVersion = "1.0-SNAPSHOT"
// Project dependencies
val appDependencies = Seq(
javaCore,
javaJdbc,
javaEbean,
anorm,
javaJpa,
filters,
jdbc
)
lazy val main = play.Project(appName, appVersion, appDependencies)
.settings(jasmineSettings : _*)
.settings(
appJsDir <+= baseDirectory / "public/javascripts/app",
appJsLibDir <+= baseDirectory / "public/javascripts/vendor",
jasmineTestDir <+= baseDirectory / "test/js",
jasmineConfFile <+= baseDirectory / "test/jasmineDependencies.js",
(test in Test) <<= (test in Test) dependsOn (jasmine)
)
}
Plugin.scala:
import sbt._
object Plugins extends Build {
lazy val plugins = Project("plugins", file("."))
.dependsOn(uri("https://github.com/guardian/sbt-jasmine-plugin.git#0.7"))
}
依赖文件:
// Dependencies for the unit test via Jasmine
EnvJasmine.loadGlobal(EnvJasmine.libDir + "/../jquery-1.7.1.min.js");
EnvJasmine.loadGlobal(EnvJasmine.libDir + "jquery-ui.js");
EnvJasmine.loadGlobal(EnvJasmine.libDir + "jquery.tmpl.min.js");
EnvJasmine.loadGlobal(EnvJasmine.libDir + "jquery-migrate-1.2.1.js");
EnvJasmine.loadGlobal(EnvJasmine.libDir + "/angular/1.2.0rc1/angular.js");
EnvJasmine.loadGlobal(EnvJasmine.libDir + "/angular/1.2.0rc1/angular-resource.min.js");
示例testSpec.js:
describe('Hello world', function() {
it('says hello', function() {
expect(helloWorld()).toEqual("Hello world!");
});
});
测试的文件夹结构是:webapp / test / js / specs /
不确定我哪里出错了。
答案 0 :(得分:2)
最后我想出来了。它与测试文件的名称有关。我之前已将它作为testSpec.js使用,现在我将其重命名为test.spec.js.这次通过“游戏测试”,我能够执行测试用例。我认为它将运行指定的测试目录中的所有情况,但不确定它是否需要某种文件名格式。