0

プロジェクトには、データストアサービスをテストするJUnitテストがいくつかあります。過去2年間、それらは正常に機能しており、単体テストを通じてエンティティの挿入、クエリ、および削除を正常に行うことができました。数日前にAppEngine1.7にアップグレードしたところ、突然すべてのテストでNullPointerExceptionがスローされました。

Persistence.createEntityManagerFactory( "transactions-optional")はnullを返します。私のpersistence.xmlファイルには、私が言ったように、アップグレードまで完全に機能していた次の構成が含まれています。

<persistence-unit name="transactions-optional">
    <provider>org.datanucleus.store.appengine.jpa.DatastorePersistenceProvider</provider> 
    <properties> 
        <property name="datanucleus.NontransactionalRead" value="true"/> 
        <property name="datanucleus.NontransactionalWrite" value="true"/> 
        <property name="datanucleus.ConnectionURL" value="appengine"/> 
    </properties> 
</persistence-unit>

また、GAEテストのセットアップ記事を確認しましたが、クラスパスに必要なすべてのjarファイルがあります。アップグレードで何が変わったのでしょうか?

4

1 に答える 1

1

これはEclipseまたはGoogleEclipseプラグインの問題のようです。[プロジェクト]>[プロパティ]で、GAE設定がチェックされました。オンになっていることを確認するために、チェックとチェックを外しました。実際、実行モードとデバッグモードは完全に機能しますが、JUnitテストは失敗します。もう一度問題を修正しようとしましたが、Google設定のチェックボックスがオンになっているにもかかわらず、GWTライブラリとGAEライブラリの両方がJavaパスから欠落していることに気付きました。非常に奇妙ですが、Junitテストが機能するようになりました。

于 2012-08-05T00:59:49.240 に答える