2009-08-31 2 views
3

У меня есть следующий тестовый класс, но не имеет значения, что я установил как «Контекстно-ориентированные местоположения» - он никогда не устанавливал мой UserService. И это не вызывает никакой ошибки, когда я устанавливаю несуществующий файл в свойствах-местоположениях ... что я делаю неправильно?Весна: JUnit-Test: applicationContext не загружен

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = { "classpath:applicationContextTest.xml" }) 
public class BasicPersistenceTest { 

@Autowired 
private UserService userService; 

@Test 
public void testUserLogin() throws Exception { 

    User result = userService.getUser("stefan", "walkner"); 

    Assert.assertNotNull(result); 
} 

@Test 
public void testLogin() { 
    User user = userService.getUser("stefan", "walkner"); 
    Assert.assertNull(user); 
} 

public UserService getUserService() { 
    return userService; 
} 

public void setUserService(UserService userService) { 
    this.userService = userService; 
} 
} 

весна-версия: 2.5.6.SEC01

JUnit-Version: 4,5

JDK: 1,5

+0

При использовании @Autowired вам не нужен сеттер для свойства, и я не понимаю, почему вы хотите иметь для него публичный getter. – crunchdog

+0

Я удалил геттер/сеттер и включил метод setup(). bizzarely, похоже, что setup() - метод никогда не вызывается ... Я помещаю там Assert.assertNotNull (null) и точку останова отладки, но он никогда не попадает туда ... – swalkner

+0

Вы комментировали настройку() с аннотацией @Before? И вы не получаете никаких ошибок в Spring injection? Как объявляется ваш компонент UserService, можете ли вы опубликовать его тоже? – crunchdog

ответ

5

Я не знаю, почему ваш тест не показывает каких-либо исключений, но Spring 2.5 is not compatible with JUnit 4.5. Либо перейдите к вехам весны 3, либо понизите JUnit до 4.4.

+0

Это тоже немного меняет –

1

Я еще не тестировал его, но если вы действительно хотите перейти на весну 3.0, вы можете использовать ehcache-spring-annotations framework.

+0

Обратите внимание, что http://code.google.com/p/ehcache-spring-annotations/ также работает с Spring 2.5 – Eric

Смежные вопросы