3
@Test
public void testGetOnlyNewPartitions() throws Exception {
    setUp();
    new Expectations(){
        HiveUtil hiveUtil;
        {
            HiveUtil.getInstance(); returns(hiveUtil);
            hiveUtil.getAllpartitions(oldTable); returns(oldPartitions);
            hiveUtil.getAllpartitions(newTable); returns(newPartitions);
        }
    };
    PartitionFilter partitionFilter = new PartitionFilter(oldTable, newTable, HiveUtil.getInstance());
}

シングルトン クラス HiveUtil を使用するクラス PartitionFilter の単体テストを行っています。

私のテスト ケースは、実行中に「java.lang.IllegalStateException: Invalid context for the recording of expected」というエラーで失敗します。なぜこれが起こっているのかについての説明はありますか?

これは私のpom.xmlの関連部分です:

<dependency>
         <groupId>org.jmockit</groupId>
         <artifactId>jmockit</artifactId>
         <version>1.13</version>
</dependency>

<dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
</dependency>

pom の junit 依存関係の前に jmockit 依存関係を配置しようとしました。それはうまくいきませんでした。

さらにいくつかの調査では、クラスの先頭で @RunWith(JMockit.class) アノテーションを使用していないことが示唆されました。しかし、使用しようとすると、「クラスを型に解決できません」というエラーが表示されました。関連するすべてのインポートを行いました。

import static org.junit.Assert.assertEquals;

import org.junit.Test;
import org.junit.runner.*;

import mockit.*;
import mockit.integration.junit4.*;
import junit.framework.TestCase;

私は何を間違っていますか?

4

1 に答える 1