我Project1
有一個名爲TestInfoFinder
一個Java類,它擴展的TestCase如下的另一種方法使用Java方法的返回列表作爲輸出:在另一個項目
public class TestInfoFinder extends TestCase {
private ClassFinder classFinderService = null;
public void setUp() {
classFinderService = new ClassFinderService();
}
public List<Integer> testFindAnnotatedClassByPackage() throws ClassNotFoundException, NoSuchMethodException, SecurityException {
String pattern = "\\bid\\b=\\[(.+?)\\]";
Pattern r = Pattern.compile(pattern);
List<String> classFilePaths = classFinderService.findAnnotatedClassesInPackage("com.mobile.tests", TestInfo.class);
Set<String> set = new HashSet<>();
set.addAll(classFilePaths);
classFilePaths.clear();
classFilePaths.addAll(set);
List<Integer> myListIntegers = new ArrayList<Integer>();
for (String ids : classFilePaths) {
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(ids);
while (m.find()) {
myListIntegers.add(Integer.parseInt(m.group()));
}
}
for(int str: myListIntegers)
{
System.out.println(str);
}
return myListIntegers;
}
}
用途ClassFinderService
類和它的方法findAnnotatedClassesInPackage()
這個類是另一個項目Project2
和not Project1
。
TestInfoFinder
類最初finds annotations
在包com.mobile.tests
然後創建名爲classFilePaths
的列表。然後我將classFilePaths列表的這些String值轉換爲整數(這是我想要的),並將它們存儲在myListIntegers
列表中。首先是第一個Java項目的一部分說Project1
現在,我有另外一個項目說Project2
,有一個叫Integration.java類,它有一個方法:
public static String addRun() {
........
...
List<Integer> cases = new ArrayList<Integer>();
for (int index=0; index < myListIntegers.length; index++)
{
cases.add(myListIntegers[index]);
}
}
在上面的代碼中,myListIntegers
應該來自我Project1's
類returned List (from TestInfoFinder class)
對於PROJECT1和Project2中的上述情況下,我怎麼能使用returned list
從Project1
到Project 2
?另外,有沒有更好的方法來修改Project1中的類TestInfoFinder
(截至目前,我必須運行整個類來獲取列表,而其他方法對我的目標會更好)?