Невозможно выполнить автоматическое подключение в тестах JUnit через Ant - похоже, @RunWith (SpringJUnit4ClassRunner.class) не работает - PullRequest
2 голосов
/ 13 апреля 2011

Мой тестовый пример выглядит примерно так:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContext.xml" })
public class AbstractDatabaseTestCase extends AbstractTestCase {

    @Autowired
    private SessionFactory sessionFactory;

}

По какой-то причине, когда я запускаю его локально на моем компьютере через Eclipse (с помощью тестового запуска Junit4) или с помощью ant (оба в eclipse, или простов терминале), все работает нормально, и sessionFactory вводится правильно.

Когда этот код находится на сервере (Hudson), либо запустив его через Hudson, либо в консоли, выполнив ant test (test - это цель для сборки и запуска тестов junit), sessionFactory не внедряетсяи, похоже, Autowiring не работает.Я посмотрел на трассировку стека из nullpointerexception и заметил, что он не использует SpringJUnit4ClassRunner, даже если он есть в аннотации @RunWith (на моем локальном компьютере он действительно используется).Есть идеи почему?Я предполагаю, что это не автоматическое подключение, потому что он не использует SpringJUnit4ClassRunner.

Спасибо

...