@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;
私は何を間違っていますか?