Тест Spring JUnit для получения исключения NullPointerException с TestContext.retrieveContextLoaderClass (TestContext .java: 197) - PullRequest
0 голосов
/ 02 июня 2011

Использование Helios, Spring 3.0.5 (TestContext Framework) и JUnit 4.7.Я получаю ошибку инициализации, указывающую, что не удается найти ContextConfiguration.Я запустил ProcMon в фоновом режиме и определил, что он явно не выглядит вообще.Я пробовал логические места для файла XML безрезультатно.Мне неясно, что я делаю неправильно.Вот код:

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() );                  
  }
}

Есть ли какой-то конкретный шаг, который нужно сделать, чтобы запустить его как тест JUnit внутри Eclipse?

Ответы [ 2 ]

1 голос
/ 04 июля 2011

Прежде всего, установите уровень журнала для org.springframework.test.context на DEBUG.Это должно рассказать вам обо всем, что делает Spring TestContext Framework (TCF).

Обратите внимание, что в указанной выше конфигурации TCF попытается загрузить контекст вашего приложения из classpath:/JpaIntegrationTests-context.xml (т. Е. В корень вашего пути к классам).Поэтому убедитесь, что файл JpaIntegrationTests-context.xml действительно находится в корне пути к классам (например, /src/test/resources/JpaIntegrationTests-context.xml для макета проекта Maven).Для макета проекта Maven вам необходимо убедиться, что / src / test / resources настроен как исходная папка в вашей IDE.

Если это не поможет вам решить вашу проблему, опубликуйте вывод DEBUG изжурнал.

С уважением,

Сэм (автор Spring TestContext Framework)

0 голосов
/ 09 ноября 2011

Цитирование Проект Java: не удалось загрузить ApplicationContext

"Из документации Sping: простой путь, например" context.xml ", будет рассматриваться как ресурс пути к классу изтот же пакет, в котором определен тестовый класс. Путь, начинающийся с косой черты, обрабатывается как полностью определенное местоположение пути к классу, например "/org/example/config.xml".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...