私はJava内のMockitoフレームワークについてもっと学びました。このユニットテストを完了するために何をすべきか分かりません。Mockito - スプリングユニットテスト
基本的に、コンソールからのエラーは、Bar.sayHi()メソッドがFooテストから実行しようとしているときにNullPointerExceptionが存在することを示します。私はそれがautowiredフィールドと関係があると思う(しかし、私は間違っているかもしれない)?以下は
は、私はに実行している問題の簡単な例です:public class FooImpl implements IFoo {
@Autowired
private IBar bar;
public void saySaySay() {
bar.sayHi();
}
}
バー:
はここでテストの下FooImplクラスです@RunWith(MockitoJUnitRunner.class)
public class FooTest {
@Mock
//@Spy // Cannot spy on an interface
IBar bar;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void test() {
// Given
FooImpl foo = new FooImpl();
foo.saySaySay();
// When
// Then
}
}
(Fooのためのインターフェースがあります)クラス(バー用のインターフェイスもあります):
public class BarImpl implements IBar {
@Override
public void sayHi() {
System.out.println("hello");
}
}
誰にも提案はありますかこの?ありがとう。
https://dzone.com/articles/use-mockito-mock-autowiredこれによると、あなたはおそらく、Mockitoが自動的にそれを作成(および注入できるようにするFooImpl'インスタンス 'に' @ InjectMocks'必要あなたのための依存関係)を作成する必要はありません。それを試しましたか? –
私は今これを試してみますが、私はMockito Cookbook(Marcin Grejszczak著)を使っていましたが、setUpメソッドやInjectMocksを使って初期化できると書かれていました。 – rj2700