2016-04-11 20 views
1

私はJava 6を使用しています。もしJavaエージェント-javaagent:C:\jmockit-1.20.jarでjmockitテストを実行してもうまくいきます。 JMockitは透過的にアタッチAPIを使用してオンデマンドでJavaエージェントをロードすることができますので、しかし、私はJavaエージェントを取り付け、インターネット上でそのJDKの1.6+を読むと、私はエラーJavaエージェントはJava 6のjmockitテストケースで必須ですか?

java.lang.Exception: Method testData_1 should have no parameters 
    at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:69) 
    at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:131) 
    at org.junit.runners.BlockJUnit4ClassRunner.validateTestMethods(BlockJUnit4ClassRunner.java:178) 
    at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:163) 
    at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:102) 
    at org.junit.runners.ParentRunner.validate(ParentRunner.java:344) 

の下に取得、それを削除した場合には、そのような必要条件ではありません。 しかし、なぜJavaエージェントなしでその投げエラー?

答えて

1

、あなたのテストを実行するためにJUnitを使用しているため、どちらか

  • jmockit.jar
  • クラスパスにJUnitの前に表示されますか@RunWith(JMockit.class)
  • でテストクラスに注釈を付けるまたはJavaエージェントのオプション
  • を設定していることを確認してください

これらのオプションのいずれかを使用すると、JMockitが正しく初期化されますJUnitが実行を開始する前に

+0

'@RunWith(JMockit.class)'で試してみて、Javaエージェントを削除してください。動作しません 。同じエラーです – emilly

+0

ああ、まあ、これは 'JMockit'とは関係ないかもしれない?エラーは、テストメソッドに無効なパラメータが定義されていると言います。そのため、 'testupdatePaymentData_1'から' @ Test'アノテーションを削除するか、そのメソッドのパラメータを削除してください。 – Vampire

+0

もし@Testを削除しても、テストケースとして認識されません。また、私はそれらのメソッドのパラメータを削除することはできません。 – emilly

関連する問題