2

PlayFrameworkベースのアプリケーションの単体テストを行っています。ドキュメントを読んでいるように、状態をクリアするために、すべてのテストの前に、次のようなフィクスチャのリストをリロードします。

    @Before
    public void setUp() {
        Fixtures.deleteAll();
        Fixtures.load("data.yml");
        Logger.info("FIXTURES RELOADED");
    }

次に、Webベースのテストプラットフォームに移動し、(http://localhost:9000/@tests)データのフェッチを処理するテストを選択して(User u = User.findById(1l);)から、データに対してアサートします。できます。

ただし、テストを再度選択して再実行しようとすると、次のように失敗します。

A java.lang.NullPointerException has been caught, Try to read name on null object models.User 

アプリケーションを完全に停止して再起動すると(初めて)実行されますが、開始と停止には少し時間がかかり、1分間に10回実行すると非常に面倒です。

Play1.2.5を使用しています

4

1 に答える 1

1

問題は、すべてのテストで ID 1 のユーザーを取得しようとしているときに、(挿入ごとに) ユーザー ID を自動インクリメントすることです。

新しく作成されたユーザー ID を取得してテストで使用するか、確実に知っている他のフィールドでユーザーを見つけることができます。

于 2013-03-20T09:11:37.880 に答える