現在、jar で提供される API をテストしています。私たちが触れた、または少なくともソースコードが参照しているjarメソッドとオブジェクトの「カバレッジ」またはリストを取得しようとしています。
私たちが持っている、または利用できるようになるのは、「ここに API のリストがあります」というテキスト形式です。
また、リストされている API をカバーしていることを確認するために、独自のアプリケーションを相互参照する必要があります。
...
簡単な例を次に示します... 以下に、jar から入手できる外部コードの例と、これらの API を使用したコードを示します。
-- EXTERNAL_USE_CLASS -- カバーする必要がある公開 API を使用して外部 JAR をモックします。
package external_api;
public class EXTERNAL_USE_CLASS {
String myString;
Integer myInteger;
Boolean has_ran;
public EXTERNAL_USE_CLASS() {
myString = "initial_string";
myInteger = 4;
has_ran = false;
}
public String getMyString() {
return myString;
}
public void setMyString(String myString) {
this.myString = myString;
}
public Integer getMyInteger() {
return myInteger;
}
public void setMyInteger(Integer myInteger) {
this.myInteger = myInteger;
}
public Boolean getHas_ran() {
return has_ran;
}
public void setHas_ran(Boolean has_ran) {
this.has_ran = has_ran;
}
}
私のプロジェクトでは、上記を jar としてインポートし、ビルド パスに追加します。私のコードが行うことは、次のようなものです。
UseExtJar -- 外部 jar オブジェクト/メソッドを使用してテスト アプリケーションをモックします。
import external_api.EXTERNAL_USE_CLASS;
public class UseExtJar {
static EXTERNAL_USE_CLASS u = new EXTERNAL_USE_CLASS();
//below is callable via a CLI interface test APP.
public static void test_basics() {
Boolean hasRan = u.getHas_ran();
Integer getInt = u.getMyInteger();
String getString = u.getMyString();
System.out.println("u.getHas_ran()"+hasRan);
System.out.println("u.getMyInteger()"+getInt);
System.out.println("u.getMyString()"+getString);
}
}
そして、私が公開したいと思っているのは、外部の Jar から変更されたすべての API です。
(つまり、これらの行になります)
Boolean hasRan = u.getHas_ran();
Integer getInt = u.getMyInteger();
String getString = u.getMyString();
そして、できれば…という趣旨のレポートを印刷できるようにしたいです。
オブジェクト メソッド 'test_basics' は次の API を使用しました:
--external_api.EXTERNAL_USE_CLASS.getHas_ran()
--external_api.EXTERNAL_USE_CLASS.getMyInteger() --external_api.EXTERNAL_USE_CLASS.getMyString()
上記の名前は、テストクラスに移動してEclipseを右クリックし、「修飾名をコピー」と言って取得する必要がありました。
1,000 の API に対してこれを行う必要があるとしたら、これはちょっと面倒なことです....トレースを論理的に出力する方法があると思いました。
適切な Google 検索用語を知らないだけかもしれませんが、これは一般的な簡単な作業です。
ヘルプ/ポインターに感謝します。