2011-06-26 1 views
2

私はjava play frameworkと以下のチュートリアルで遊んでいます。テストで "data.yml"を読み込めません、java.lang.RuntimeException

A java.lang.RuntimeException has been caught, Cannot load fixture data.yml: play.exceptions.UnexpectedException: Unexpected Error 

In /test/BasicTest.java, line 137 : 
Fixtures.loadModels("data.yml"); 

スタックトレース:

java.lang.RuntimeException: Cannot load fixture data.yml: play.exceptions.UnexpectedException: Unexpected Error 
    at play.test.Fixtures.loadModels(Fixtures.java:221) 
    at BasicTest.fullTest(BasicTest.java:137) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) 
    at play.test.PlayJUnitRunner$StartPlay$2$1.evaluate(PlayJUnitRunner.java:98) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 
    at play.test.PlayJUnitRunner.run(PlayJUnitRunner.java:48) 
    at org.junit.runners.Suite.runChild(Suite.java:128) 
    at org.junit.runners.Suite.runChild(Suite.java:24) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:157) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:136) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:117) 
    at play.test.TestEngine.run(TestEngine.java:101) 
    at controllers.TestRunner.run(TestRunner.java:67) 
    at sun.reflect.GeneratedMethodAccessor145.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
    at java.lang.reflect.Method.invoke(Method.java:597) 
    at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:540) 
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:498) 
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:474) 
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:469) 
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:157) 
    at play.server.PlayHandler$NettyInvocation.execute(PlayHandler.java:237) 
    at play.Invoker$Invocation.run(Invoker.java:265) 
    at play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:217) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:680) 
Caused by: java.lang.RuntimeException: play.exceptions.UnexpectedException: Unexpected Error 
    at play.db.jpa.GenericModel.create(GenericModel.java:50) 
    at play.db.jpa.JPAPlugin.bind(JPAPlugin.java:81) 
    at play.plugins.PluginCollection.bind(PluginCollection.java:469) 
    at play.data.binding.Binder.bind(Binder.java:309) 
    at play.data.binding.Binder.bind(Binder.java:302) 
    at play.test.Fixtures.loadModels(Fixtures.java:196) 
    ... 52 more 
Caused by: play.exceptions.UnexpectedException: Unexpected Error 
    at play.db.jpa.GenericModel.edit(GenericModel.java:156) 
    at play.db.jpa.GenericModel.create(GenericModel.java:48) 
    ... 57 more 
Caused by: play.exceptions.UnexpectedException: Unexpected Error 
    at play.data.binding.BeanWrapper$Property.setValue(BeanWrapper.java:230) 
    at play.data.binding.BeanWrapper.bind(BeanWrapper.java:70) 
    at play.db.jpa.GenericModel.edit(GenericModel.java:153) 
    ... 58 more 
Caused by: java.lang.IllegalArgumentException: Can not set java.sql.Date field models.Post.postedAt to java.util.Date 
    at play.data.binding.BeanWrapper$Property.setValue(BeanWrapper.java:225) 
    at play.data.binding.BeanWrapper.bind(BeanWrapper.java:70) 
    at play.db.jpa.GenericModel.edit(GenericModel.java:153) 
    at play.db.jpa.GenericModel.create(GenericModel.java:48) 
    at play.db.jpa.JPAPlugin.bind(JPAPlugin.java:81) 
    at play.plugins.PluginCollection.bind(PluginCollection.java:469) 
    at play.data.binding.Binder.bind(Binder.java:309) 
    at play.data.binding.Binder.bind(Binder.java:302) 
    at play.test.Fixtures.loadModels(Fixtures.java:196) 
    at BasicTest.fullTest(BasicTest.java:137) 
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) 
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 
    at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) 
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) 
    at play.test.PlayJUnitRunner$StartPlay$2$1.evaluate(PlayJUnitRunner.java:98) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) 
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 
    at play.test.PlayJUnitRunner.run(PlayJUnitRunner.java:48) 
    at org.junit.runners.Suite.runChild(Suite.java:128) 
    at org.junit.runners.Suite.runChild(Suite.java:24) 
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) 
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) 
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) 
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) 
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) 
    at org.junit.runners.ParentRunner.run(ParentRunner.java:236) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:157) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:136) 
    at org.junit.runner.JUnitCore.run(JUnitCore.java:117) 
    at play.test.TestEngine.run(TestEngine.java:101) 
    at controllers.TestRunner.run(TestRunner.java:67) 
    at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:540) 
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:498) 
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:474) 
    at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:469) 
    at play.mvc.ActionInvoker.invoke(ActionInvoker.java:157) 
    at Invocation.HTTP Request(Play!) 

行、エラーが発生します。

@Test 
public void fullTest() { 
    Fixtures.loadModels("data.yml"); 

    // count everyrhing 
    assertEquals(2, User.count()); 
「より複雑なテストを書くために備品の使用」このセクションを実装しようとしましたが、私はテストでは、このようなエラーに直面しました

また、私は

@Before 
public void setup() { 
    Fixtures.deleteDatabase(); 
} 
を持っています

しかし、それは助けにはなりません。

data.ymlファイルには、この情報が含まれています。正式なサイトからダウンロードされたため、有効である必要があります。

私は間違いがありますか?

+0

本当にdata.ymlが見つかりましたか? –

答えて

1

フォーマットを変更して解決したとお知りになりましたが、別の問題があると思います。

Can not set java.sql.Date field models.Post.postedAt to java.util.Date 

それはあなたのPostクラスではなくjava.util.Dateのjava.sql.Date含めてあるように私には見えるが、それは(最初の場所で問題を引き起こしている可能性:あなたのログでこのメッセージがあります書式設定は実際の紛争の赤字です)

+0

ありがとう、これはこの問題の本当の解決策です。 – Ruzard

+0

歓迎です:) –

0

解決済み。 問題はyamlファイルの日付形式で発生していました。 2009/06/06でした。私は06.06.2009に入ったばかりで、すべてが機能し始めました。

+1

これは問題ではないということをコミュニティに示すために、この回答を受け入れてください(あなた自身であっても)。 –

+0

今はできません。 18時間お待ちください – Ruzard

関連する問題