Scala 播放2.2测试失败,出现异常';播放缓存未处于活动状态(状态为“关闭”)&x27;
当我运行测试时,这个错误会在第一次测试后立即抛出。我猜这是因为Play使用的是CacheManager.create(ehcacheXml),它只为每个应用程序创建一个实例Scala 播放2.2测试失败,出现异常';播放缓存未处于活动状态(状态为“关闭”)&x27;,scala,playframework,ehcache,playframework-2.1,playframework-2.2,Scala,Playframework,Ehcache,Playframework 2.1,Playframework 2.2,当我运行测试时,这个错误会在第一次测试后立即抛出。我猜这是因为Play使用的是CacheManager.create(ehcacheXml),它只为每个应用程序创建一个实例 [error] IllegalStateException: The play Cache is not alive (STATUS_SHUTDOWN) (Cache.java:4267) 如何配置play以使用多实例ehcache 这是我的测试: abstract class WithCleanTestData
[error] IllegalStateException: The play Cache is not alive (STATUS_SHUTDOWN) (Cache.java:4267)
如何配置play以使用多实例ehcache
这是我的测试:
abstract class WithCleanTestData extends WithApplication(FakeApplication(
additionalConfiguration = TestConf.getConf.toMap
)) {
override def around[T: AsResult](t: => T): Result = super.around {
prepareDbWithData()
t
}
def prepareDbWithData() = {
}
}
object MyTest extends PlaySpecification {
"test api" should {
class MyCtrl() extends Controller with MyControler
"post data 1" in new WithCleanTestData {
val myControler = new MyCtrl()
val ret: Future[SimpleResult] = myControler.method().apply(FakeRequest())
.....
}
"post data 2" in new WithCleanTestData {
val myControler = new MyCtrl()
val ret: Future[SimpleResult] = myControler.method().apply(FakeRequest())
.....
}
}
}
请看我在play邮件列表上的回复
请看我在play邮件列表上的回复
基于johanandren的帖子,我为Java做了这项工作
play.Play.application().plugin(EhCachePlugin.class).cache().flush();
这是在@After中的测试基类中添加的。基于johanandren的文章,我为Java做了这项工作
play.Play.application().plugin(EhCachePlugin.class).cache().flush();
这被添加到@After中的测试基类中。我也得到了相同的异常。我不熟悉scala和scala play框架。你能让我知道如何将这个新的FixedEhCachePlugin连接到我的TestSpec类上吗?CachePlugin的sbt依赖性是什么?你能不能添加你的示例测试类作为这个FixedEhCachePlugin是如何插入的?我也遇到了同样的异常。我不熟悉scala和scala play框架。你能让我知道如何将这个新的FixedEhCachePlugin连接到我的TestSpec类上吗?CachePlugin的sbt依赖性是什么?你能添加你的示例测试类作为这个FixedEhCachePlugin是如何插入的吗