我目前正在测试在罐子中提供给我们的 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 -- 使用外部 jars 对象/方法模拟我们的测试应用程序
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 执行此操作,这将是一种痛苦……我只是想出了某种方法可以在逻辑上打印出跟踪。
可能我只是不知道正确的谷歌搜索词,这是一个常见的简单任务。
非常感谢任何帮助/指针。