2012-01-22 24 views
2

私はSTSで単純なGrailsプラグインプロジェクトを作成しました。私はSpring Security Coreプラグインを使用しています。これには、いくつかのドメインクラスが追加されています。私は、単にドメインクラス(User)のインスタンスを作成して保存する統合テストを作成しました。私は統合テストを実行しているときに、次のエラーを取得しています:ドメインクラスが何らかの理由でGORM経由でマップされていないように私は理解していないGrails統合テスト:ドメインクラスが機能しない

Failure: testSomething(com.resonance.rwp.core.tests.UserServiceTests) 
groovy.lang.MissingMethodException: No signature of method: com.resonance.rwp.core.domain.User.save() is applicable for argument types:() values: [] 
Possible solutions: save(), save(boolean), save(java.util.Map), wait(), any(), wait(long) 
    at com.resonance.rwp.core.tests.UserServiceTests.setUp(UserServiceTests.groovy:14) 

、それはそうです。私が遭遇したことは、単体テストでGORMを使用しようとする人が関わっていますが、私は積分テストを行っています。どんな助けでも大歓迎です。ここで

がソースで、それは本当に簡単です:

class UserServiceTests { 

@Before 
void setUp() { 
    User user = new User(username: "Test"); 
    user.save(); 
} 

@After 
void tearDown() { 
    // Tear down logic here 
} 

@Test 
void testSomething() { 
    fail "Implement me" 
} 
} 

私はまた、テスト自体にすべてを動かしてみました。明らかにsetUpメソッドで失敗しています。

+0

:)働いてしまったコードを表示しますテストクラスのために。 –

+0

何らかの理由でGorm AST変換が実行されていないようです。テストクラスに加えて、STS、Grails、Groovy-Eclipseのバージョンも指定できますか?これはSTSのバグである可能性があります。その場合は、問題追跡ツールに問題を提起することをお勧めします。https://issuetracker.springsource.com/browse/STS –

+0

私はソースを追加しました。ありがとう手伝い! – SoWeLie

答えて

0

この場合、何らかの理由でGrails AST変換が実行されていないようです。私はあなたがGrails 2.0を実行していると推測していますが、あなたは実際には言っていません。 STS内でクリーンビルドを実行してみてください(プロジェクト - >クリーン...)。

これを単純なGrails 2.0プロジェクトで試しました。それは私のために働くように見えます。私はあなたの最善の策は、この問題がある単純なgrailsプロジェクトを作成し、それをzipとしてエクスポートし、jiraの問題を提起することだと思います。 ​​

+0

Grails 2.0です。また、それがプラグインプロジェクトであることを忘れてしまった。違いがあるかどうかは分かりません。それはまったく新しいプロジェクトであり、私はきれいな試みをしました。 – SoWeLie

+0

バグを起こしてプロジェクトを添付します。 –

1

ちょうどgrails test-appとして実行したときに統合テストが失敗しましたがgrails test-app --integrationとして実行したとき仕事をしたのGrails 2.0.0

でいくつかの統合テストを作成するあなたのような問題を抱えていました。私の驚いたことに、単体テストは何らかの方法でテスト環境を汚染していました。さらに驚くべきことに、自動生成された(すなわち空の)単体テストを削除することがトリックでした!テストは両方のコマンドを渡しています。

another questionに彼の統合テストを行うためにGrailsの筆記テストの2.0.0の方法(すなわちJUnitの4とGrailsのテストミックスイン)に彼のユニットテストを移行するために必要なアスカートピックに関する議論がなされてきました仕事、それを行う方法を見ることができますthe docs

私は、その目的のために構築された最小限のアプリケーションで再現できれば、バグレポートを提出しようとします。お役に立てれば!

0

あなたはまだ使用して単一のテストを持っている場合:

extends GrailsUnitTestCase 

あなたがこれを見ます。あなたは、私が新しく生成されたプラグインで、あまりにもこの問題を抱えていたし、問題が新たに発生したプラグインが依存しないことであることがわかっ

http://grails.org/doc/latest/guide/testing.html#unitTesting

2

2+のGrailsでのアノテーションベースのテストにすべてのユニットテストを変更する必要があります休止状態。私はBuildConfig.groovyに以下を追加しました:

plugins { 
    runtime ":hibernate:$grailsVersion" 
} 

これは問題を引き起こしました。私は、エラーメッセージがsaveのような永続メソッドの実際の存在を示唆した理由として、任意の理論を持っているのGrailsと十分に慣れていないんだけど、少なくとも私はそれが

http://jira.grails.org/browse/GRAILS-9163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

関連する問題