我正在尝试测试控制器,它正在使用新的Action.async.下面的文档我已经排除了控制器下的部分我想测试用类型引用来分隔特征:
trait UserController { this: Controller =>
def index() = Action { /* snip */ }
def register() = Action.async(parse.json) { request => /* snip */ }
}
Run Code Online (Sandbox Code Playgroud)
文档说明我应该将其测试为:
object UsersControllerSpec extends PlaySpecification with Results {
class TestController() extends Controller with UserController
"index action" should {
"should be valid" in {
val controller = new TestController()
val result: Future[SimpleResult] = controller.index().apply(FakeRequest())
/* assertions */
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
对于index()方法它完美地工作,不幸的是我无法做同样的事情register(),因为在它上面应用FakeRequest返回的实例Iteratee[Array[Byte], SimpleResult].我注意到它有 …
我有一个项目设置playframework 2.2.0和play2-reactivemongo 0.10.0-SNAPSHOT.我想通过他们的id查询一些文档,方式类似于:
def usersCollection = db.collection[JSONCollection]("users")
val ids: List[String] = /* fetched from somewhere else */
val query = ??
val users = usersCollection.find(query).cursor[User].collect[List]()
Run Code Online (Sandbox Code Playgroud)
作为查询我试过:
Json.obj("_id" -> Json.obj("$in" -> ids)) // 1
Json.obj("_id.$oid" -> Json.obj("$in" -> ids)) // 2
Json.obj("_id" -> Json.obj("$oid" -> Json.obj("$in" -> ids))) // 3
Run Code Online (Sandbox Code Playgroud)
第一个和第二个返回空列表,第三个失败,错误assertion 10068 invalid operator: $oid.
我正在尝试使用servant和堆栈松散地设置基本项目,遵循官方仆人教程和堆栈指南.一旦我添加import Servant堆栈构建失败:
Could not find module ‘Servant’
Use -v to see a list of the files searched for.
Run Code Online (Sandbox Code Playgroud)
我已经定义servant为此模块的依赖项,并且堆栈注意到它stack dependencies显示为:
aeson 0.8.0.2
array 0.5.1.0
attoparsec 0.12.1.6
base 4.8.1.0
binary 0.7.5.0
blaze-builder 0.4.0.1
bytestring 0.10.6.0
bytestring-conversion 0.3.1
case-insensitive 1.2.0.4
containers 0.5.6.2
deepseq 1.4.1.1
dlist 0.7.1.2
double-conversion 2.0.1.0
ghc-prim 0.4.0.0
hashable 1.2.3.3
http-media 0.6.2
http-types 0.8.6
integer-gmp 1.0.0.0
mtl 2.2.1
network-uri 2.6.0.3
parsec 3.1.9
primitive 0.6
scientific 0.3.3.8
servant 0.4.4.2
string-conversions 0.4 …Run Code Online (Sandbox Code Playgroud) 我正在使用apache felix osgi.当我使用classLoader.loadClass(..)它加载类是给予ClassNotFoundException
,但当我Class.forName()用于加载类时它工作正常.
它们在我们使用时会有什么不同classLoader.loadClass()?为什么我们只需要使用Class.forName()或如何classLoader.loadClass()正确使用?