3

Mockito バージョン 1.9.0 を使用しています。私が周りを見回したところ、ほとんどの例がインポートのリストを無視し、他の例は互いに非常に矛盾していることがわかりました. 一部の注釈で「エラー: シンボルが見つかりません」というメッセージが表示されます。junit 構文と Mockito 構文を混在させている可能性がありますが、よくわかりません。

@RunWith(MockitoJUnitRunner.class)
public class SomeControllerTest {
  @Mock
  private SomeServiceImpl someService;

  @InjectMocks
  private SomeController someController;

  @Before 
  public void setUp() throws Exception {
  ...
  }

  @Test
  public void testSomething() throws SomeException {
  ...
  }
}

編集

現在インポートしているものは次のとおりです。

import org.mockito.*;
import org.mockito.runners.MockitoJUnitRunner;
import org.junit.runner.RunWith;

import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.*;
import static org.junit.Assert.*;
4

1 に答える 1

0

通常、あなたは大丈夫です:

import static org.mockito.Mockito.*;

今日の IDE では、オートコンプリートが提供され、上位クラスがルックアップされます。たとえば、Mockito クラスはこのように設計されており、Mockitoeqマッチャーを使用しようとすると、IntelliJ がインポートしますorg.mockito.Matchers.eq

givenファミリ メソッドの代わりにスタブ化するときに BDD スタイルを使用するファミリ メソッドを使用できるのと同じ方法で、クラスを拡張するwhenものをインポートします。org.mockito.BDDMockitoMockito

注釈はすべてここにありますorg.mockito

import org.mockito.Captor;
import org.mockito.InjectMocks;
import org.mockito.Mock;

コード編成に関する何らかの理由で、次のような他のものが他の場所で見つかる場合があります。

import org.mockito.runners.MockitoJUnitRunner;

EDIT : Mockito 2.x ではorg.mockito.runners.MockitoJUnitRunner非推奨になり、JUnit 関連のコードは に移動されたためorg.mockito.junit、インポートは次のように置き換える必要があります。

import org.mockito.junit.MockitoJUnitRunner;

新しい についても同じですMockitoRule

import org.mockito.junit.MockitoRule;
import org.mockito.junit.MockitoJunit;

しかし、それを見つけることは問題ではありません。

それが役立つことを願っています!

于 2012-10-31T18:11:19.860 に答える