【发布时间】:2018-02-25 06:07:14
【问题描述】:
我遇到了人们似乎经常遇到的问题。我需要访问我的主类资源文件夹中的一些资源(即迁移)。
This 帖子谈到,但是建议的解决方案不起作用。 src/main/resources 中的资源不适用于我的 JUnit 测试。
This 帖子有一个引用 Maven 的解决方案,这对我没有多大好处,因为我在 Gradle 领域。
作为参考,下面的代码不起作用
public class ConnectorTests {
@Before
public void initialize() throws SQLException {
Reader vendorSql = new InputStreamReader(
this.getClass().getResourceAsStream(
"/migrations/V0__create_vendor_table.sql"));
它给出了一个预期的空指针异常,因为找不到文件。
我可以确认这是问题所在,因为通过将相关文件复制到 src/test/resources/migrations 中它可以正常工作。然而,这并不理想,因为这意味着我在更改或添加迁移时有一个额外的步骤。
我需要在 Gradle 中做一些类路径巫术才能使其正常工作吗?
谢谢!
【问题讨论】:
标签: java gradle junit classpath