残念ながら静的メソッド呼び出しを持つ別のクラスを拡張する(JukitoとMockitoを使用して)クラスをテストしようとしています。何とかこの呼び出しをスキップすることは可能ですか?私はPowerMockitoを使いたくないです。Jukito/Mockito静的メソッドでのテスト
public class A extends B {
@Inject
public A(final String s){
super(s);
}
}
public abstract class B {
private String s;
protected String m = C.get().createUniqueId(); //Exception is thrown here
public B(String s){
this.s = s;
}
}
public class C {
private static C c; //assume this is never null
public static C get() {
return c;
}
public final native String createUniqueId() {}
}
@RunWith(JukitoRunner.class)
public class ATest {
@Inject
A a;
@Test
public void onMethod1Test(){
}
}
ATESTを実行しているとき、私は次のエラーを取得する:
Error injecting constructor, java.lang.UnsatisfiedLinkError: C
私はそれがあるため、静的メソッドのだと仮定は、私間違っていましたか?
すべてのクラスは私の実際のクラスの単なる例であり、Cクラスはmyによって書かれたものではなく、(残念ながら)変更できないことに注意してください。しかし、私のクラスの背後にあるアイデアは同じです。名前を変更して関連する部分だけを残しました。
私はこれをすべて知っていましたが、私は何かを見逃していたと思っています。私はPowerMockitoの使用に熱心ではなく、Cクラスを書き直すことができないので、今はクラスをテストしません。私はあなたの答えを受け入れるでしょう、あなたは時間をかけて簡単な説明を書いています。 – CrazySabbath