首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TestContext.retrieveContextLoaderClass(TestContext JUnit测试获取NullPointerException )

使用TestContext.retrieveContextLoaderClass(TestContext JUnit测试获取NullPointerException )
EN

Stack Overflow用户
提问于 2011-06-02 22:45:56
回答 2查看 2K关注 0票数 0

使用Helios、Spring3.0.5 (TestContext框架)和JUnit 4.7。我收到一个初始化错误,表明它找不到ContextConfiguration。我在后台运行了ProcMon,并确定它看起来一点都不明显。我已经尝试了xml文件的逻辑位置,但都没有用。我不清楚我做错了什么。代码如下:

代码语言:javascript
复制
package com.hwcs.veri.agg.dao;

import static org.junit.Assert.assertEquals;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;
import com.hwcs.veri.jpa.License;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/JpaIntegrationTests-context.xml" })
@TransactionConfiguration( transactionManager = "transactionManager", 
                       defaultRollback    = true )
@Transactional
public class JpaIntegrationTests 
 extends     AbstractTransactionalJUnit4SpringContextTests 
{
  @Autowired
  protected LicenseDao licenseDao;
  @Test
  public void getLicenses()
  {
    List<License> licenses = this.licenseDao.getLicenses();   
    assertEquals( "Expecting 1 license from the query",
              super.countRowsInTable( "product_schema.license" ),
              licenses.size() );                  
  }
}

要在Eclipse中将其作为JUnit测试运行,是否需要执行某些特定的步骤?

EN

回答 2

Stack Overflow用户

发布于 2011-07-04 05:50:14

首先,将org.springframework.test.context的日志级别设置为DEBUG。这应该会告诉您Spring框架( TestContext )正在做的一切。

注意,使用上面的配置,TCF将尝试从classpath:/JpaIntegrationTests-context.xml加载应用程序上下文(即,在类路径的根目录中)。因此,请确保JpaIntegrationTests-context.xml文件确实存在于类路径的根目录中(例如,Maven项目布局的/src/test/resources/JpaIntegrationTests-context.xml )。对于Maven项目布局,您需要确保将/src/test/resources配置为IDE中的源文件夹。

如果这不能帮助您解决问题,请发布日志中的调试输出。

致以敬意,

Sam ( Spring TestContext框架的作者)

票数 1
EN

Stack Overflow用户

发布于 2011-11-09 19:37:11

引用Java Project: Failed to load ApplicationContext

“来自Sping文档:普通路径,例如"context.xml",将被视为来自定义测试类的同一个包的类路径资源。以斜杠开头的路径被视为完全限定的类路径位置,例如"/org/ example /config.xml”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6216119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档