J'ai une classe Java appelée TestInfoFinder
en Project1
qui s'étend TestCase comme ci-dessous:Utilisation de la liste retournée de méthode Java en sortie dans une autre méthode d'un autre projet
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;
}
}
Utilise ClassFinderService
classe et sa méthode findAnnotatedClassesInPackage()
et cette classe est en un autre projet Project2
et not Project1
.
TestInfoFinder
classe initialement finds annotations
dans le package com.mobile.tests
puis crée une liste appelée classFilePaths
. Ensuite, je convertis ces valeurs String de la liste classFilePaths en les nombres entiers (ce que je veux) et je les stocke dans la liste myListIntegers
. Par-dessus tout est la partie du premier projet Java dire Project1
Maintenant, j'ai un autre projet dire Project2
qui a une classe appelée Integration.java et il a un procédé tel que:
public static String addRun() {
........
...
List<Integer> cases = new ArrayList<Integer>();
for (int index=0; index < myListIntegers.length; index++)
{
cases.add(myListIntegers[index]);
}
}
Dans extrait ci-dessus, myListIntegers
devrait venir de ma classe Project1's
returned List (from TestInfoFinder class)
Pour le scénario ci-dessus Project1 et Project2, comment puis-je utiliser le returned list
de Project1
dans le Project 2
? Aussi, est-il une meilleure approche pour modifier la classe TestInfoFinder
dans Project1 (à partir de maintenant, je dois exécuter la classe entière pour obtenir la liste, plutôt quelque chose d'autre serait mieux pour mon objectif)?