Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse在运行SpringJUnit时抛出java.lang.NullPointerException_Java_Eclipse_Spring_Maven_Junit - Fatal编程技术网

Eclipse在运行SpringJUnit时抛出java.lang.NullPointerException

Eclipse在运行SpringJUnit时抛出java.lang.NullPointerException,java,eclipse,spring,maven,junit,Java,Eclipse,Spring,Maven,Junit,当我运行junit测试时,控制台会打印以下内容: java.lang.NullPointerException at org.eclipse.jdt.internal.junit4.runner.SubForestFilter.shouldRun(SubForestFilter.java:81) at org.junit.internal.runners.JUnit4ClassRunner.filter(JUnit4ClassRunner.java:110) at org.junit.runne

当我运行junit测试时,控制台会打印以下内容:

java.lang.NullPointerException
at org.eclipse.jdt.internal.junit4.runner.SubForestFilter.shouldRun(SubForestFilter.java:81)
at org.junit.internal.runners.JUnit4ClassRunner.filter(JUnit4ClassRunner.java:110)
at org.junit.runner.manipulation.Filter.apply(Filter.java:47)
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:34)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
基本测试对象是这样的

import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {
            "classpath*:config/spring/appcontext-*.xml",
            "classpath*:config/sqlmap/*.xml"
})
@TransactionConfiguration(defaultRollback = false)
@Transactional
public abstract class AbstractTestObject {
    static {
        //DOMConfigurator.configure("target/classes/log/log4j.xml");
    }
}
JUnit方法如下所示:

public class StaffInfoServiceImplTest extends AbstractTestObject{
    @Autowired
    StaffInfoServiceImpl service;

    @Test
    public void insertTest() {
        StaffInfo bo = new StaffInfo();
        bo.setEmail("a@b.com");
        bo.setEntId(1);
        bo.setEntStaffNum("000XXXX");
        bo.setName("julia");
        bo.setPhone("00000000");
        bo.setSerialNum("SD12233KSRONDU189342ND");
        bo.setSuperior(2321);
        bo.setDepartment("Sale");
        bo.setSingleCredit(BigDecimal.valueOf(100));
        bo.setMonthlyCredit(BigDecimal.valueOf(10000));
        SLTContext c = new SLTContext();
        c.setOperator("0000001");
        service.insertStaffInfo(bo, c);
    }
}
我的项目是javaee项目,使用maven管理lib,使用springmanagebean

我的开发环境是:
Mac OS X Yosetime 10.10.4
面向Web开发人员的Eclipse Java EE IDE(版本:Mars发行版(4.5.0))
Maven插件(从Eclipse安装->安装新软件)

我想这是EclipseJUnit和ProjectJUnitConfig之间的冲突,但我不确定

如何解决此问题,谢谢。

请执行以下操作:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("file:src/main/webapp/WEB-INF/applicationContext.xml")
@WebAppConfiguration
public class StaffInfoServiceImplTest { ..Your Code.. }

在EclipseMars上执行(单个)JUnit测试时遇到相同的NPE

我试图创建一个全新的工作区,并添加了一些测试类和测试方法,但使用了EclipseMars(版本4.12)附带的JUnit库。有了这个库,我可以在火星上执行所有测试

在另一个工作区/项目中,我在使用较旧版本的JUnit之前遇到了问题


我认为这个老JUnit版本是个问题,必须升级到新版本。

是的。我针对Eclipse提出了一个bug,他们建议将我的依赖项更改为JUnit的更新版本


我从JUnit 4.4升级到JUnit 4.9,它又开始工作了。

你能分享你的项目吗structure@kiwi-我知道没有公认的答案,但我只是想知道您是否找到了解决方法。您使用的是什么版本的JUnit和Spring?Spring 2.5.6和JUnit 4.4。我知道Spring的版本很旧,但我刚刚被分配到这个项目中。