Jasmine sbt插件没有执行测试

时间:2014-05-13 21:11:01

标签: scala playframework-2.0 sbt jasmine

我正在尝试使用基于和引用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 /

不确定我哪里出错了。

1 个答案:

答案 0 :(得分:2)

最后我想出来了。它与测试文件的名称有关。我之前已将它作为testSpec.js使用,现在我将其重命名为test.spec.js.这次通过“游戏测试”,我能够执行测试用例。我认为它将运行指定的测试目录中的所有情况,但不确定它是否需要某种文件名格式。