测试找不到应用程序属性

时间:2018-11-08 10:28:34

标签: java spring unit-testing

我正在尝试创建测试,该测试从数据库中获取一些东西并比较值。

我有类和方法:

@RunWith(SpringRunner.class)
@SpringBootTest()
@ActiveProfiles("dev")
public class HibernateDataTest {


    @Autowired
    private UserRepository userRepository;
    @Autowired
    private ItemRepository itemRepository;
    @Test
    public void testData() {
        User u = userRepository.findByEmail("test@test.com");
        Item item = createItem(u);
        Item id =  itemRepository.save(item);
        assert(...);
    }

但是,这一直在抱怨:

  

无法打开ServletContext资源[/application.properties]

我为休眠定义了数据源,该数据源从application.properties文件中获取属性。

我的结构是:

-app
  -src/main/java
  -src/main/resources
  -src/test/java
  -src/test/resources

如何在此测试类/方法中链接application.properties文件?

感谢帮助!

2 个答案:

答案 0 :(得分:1)

在以下路径中添加名为'application-dev.properties'的属性文件:

var OccLocation = document.getElementById("HdnOccLocation");
if (OccLocation.value.trim() != "") {
    alert("not empty");
}

这应该有效

答案 1 :(得分:0)

 @TestPropertySource(locations = "classpath:./application.properties")

这可能会帮助

您可以尝试使用@PropertySource(“ classpath:./ application.properties”)

您可以做类似的事情

@PropertySource("classpath:application.properties")
@Configuration
public class MyConfig{}


@RunWith(SpringRunner.class)
@SpringBootTest(classes = MyConfig.class)
@ActiveProfiles("dev")
public class Test{}