Junit测试用例找不到导入的异常包

时间:2019-04-04 14:12:38

标签: java exception gradle intellij-idea junit4

我有以下项目结构

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中的Exception包。到目前为止,我已经尝试过-

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语句看起来像这样-


    import org.XXX.Exception.IllegalVehicleException;

1 个答案:

答案 0 :(得分:0)

发现了一个运行测试用例的黑客,虽然不确定这是否是一种复杂的方法。

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 
    {
    ...
    }

以及这些异常的相应导入语句已删除。