Я создаю программу, которая распознает классы тестов и дает кодеру представление о том, сколько кода теста он написал по сравнению с фактическим исходным кодом. Мой вопрос: как я могу заставить программу распознать тестовый класс, несмотря на тип тестов, которые были использованы? какой главный признак вы можете найти в тестовом классе? Это нотация @Test
? Если да, то как с этим справиться?Лучший способ распознать тестовые классы?
Это кусок кода класса, который я сделал, чтобы распознавать тестовые классы:
public void walk(String path) throws FileNotFoundException {
int countFiles = 0;
File root = new File(path);
File[] list = root.listFiles();
if (list == null) {
return;
}
for (File f : list) {
if (f.isDirectory()) {
walk(f.getAbsolutePath());
}
if (f.getName().endsWith(".java")) {
System.out.println("File:" + f.getName());
Scanner sc2 = new Scanner(f);
while (sc2.hasNextLine()) {
count++;
String str = sc2.nextLine();
for (int i = 0; i < str.length(); i++) {
if(str.equals("@Test")){
System.out.println("this a test clsee!");
}
Но, к сожалению, моя идея не работает. Так что я могу сделать?
Почему ваша идея не работает? – Idos
Я не знаю, что я не получаю результата, даже если у меня есть несколько классов тестов, либо оператор if помещен неправильно, либо условие не самое лучшее? (Str.equals ("@ Test")); –
* Не знаю * редко бывает хорошим ответом. Пожалуйста, предоставьте [mcve] (http://stackoverflow.com/help/mcve), если вы хотите получить осмысленный ответ на свой вопрос. – Idos