Тестовый пример Junit не может найти импортированные пакеты исключений - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть следующая структура проекта

Projectname
│                   
└───src
    ├───main
    │   └───java
    │       └───org
    │           └───XXX
    │               ├───abstractfactory
    │               ├───Exception
    │               ├───factorycreator
    │               ├───message
    │               ├───protocol
    │               ├───functionMonitor
    │               └───vehicle
    └───test
        └───java
            └───org
                └───XXX
                    └───vehicleTest

Автомобиль имеет основной класс. Это требует аргументов, которые я передаю в тестовом примере.

Исключение имеет 4 различных типа исключения -

IllegalVehicleException, IllegalProtocolException, IllegalMessageException, IllegalChoiceException 

Проект настроен на gradle, и тестовые примеры так или иначе никогда не обнаруживают пакеты исключений в src. Я пытался до сих пор -

1. closing the project, deleting the idea and recreating the project. 
2. recreating the project a fresh from gitlab. 
3. set up the project's out folder to a directory. 

ошибка

 Error (4, 1): java: package org.XXXX.Exception does not exist. 
      Error (14, 5): cannot find symbol 
      symbol   : class IllegalVehicleException
      location : class org.XXXX.YYYY.vehicleTest 

Ни одно из приведенных выше решений не помогло. Я был бы очень признателен, если бы кто-то мог указать, что я делаю неправильно.

Исключения являются простыми, например, IllegalVehicleException выглядит следующим образом


    package org.XXX.Exception;

    public class IllegalVehicleException extends Exception {

        private final String message;
        public IllegalVehicleException(String message){
            this.message = message;
        }
    }

Оператор импорта в тестовом примере vehicleTest выглядит следующим образом -


    import org.XXX.Exception.IllegalVehicleException;

1 Ответ

0 голосов
/ 04 апреля 2019

Нашел взлом для запуска тестовых случаев, хотя не уверен, что это сложный способ.

В vehicleTest


    ...
    @BeforeClass
    public static void DeleteUnncessaryFiles() throws IOException {
    ...
    }
    @Test
    public void testVehicle() throws org.XXX.Exception.IllegalVehicleException, 
    org.XXX.Exception.IllegalProtocolException, org.XXX.Exception.IllegalChoiceException 
    {
    ...
    }

и соответствующие операторы импорта этих исключений были удалены.

...