首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹簧启动多模块测试自动装配

弹簧启动多模块测试自动装配
EN

Stack Overflow用户
提问于 2017-11-03 09:17:00
回答 1查看 2.7K关注 0票数 0

我有一个具有结构的多模块项目:

代码语言:javascript
复制
app/
  build.gradle
  settings.gradle
  app-web/
    src/main/java/example/
      Application.java
  app-repository/
    src/main/java/example/
      CustomerRepository.java
      Customer.java
    src/test/java/example/
      CustomerRepositoryTest

与应用程序类:

代码语言:javascript
复制
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }
}

与库房

代码语言:javascript
复制
@Repository
public interface CustomerRepository extends JpaRepository<Customer, Long> {
}

和储存库测试

代码语言:javascript
复制
@RunWith(SpringRunner.class)
@SpringBootTest
public class CustomerRepositoryTest {

    @Autowired
    private CustomerRepository repository;

    @Test
    public void shouldSave() {
        // When
        final Customer saved = repository.save(new Customer());

        // Then
        assertThat(saved.getID()).isNotNull();
    }
}

现在,当我运行这个测试时,我得到了一个错误:

无法找到@SpringBootConfiguration,您需要使用@ContextConfiguration或@SpringBootTest(classes=.)用你的测试

当存储库模块中有Application类时,不会出现这种情况,但我需要将它们分开。有什么办法能让这件事奏效呢?

如果它有助于我的Spring依赖关系,则如下所示:

代码语言:javascript
复制
compile("org.springframework.boot:spring-boot-starter-data-jpa")
compile("com.h2database:h2")
testCompile("org.springframework.boot:spring-boot-starter-test")

使用插件org.springframework.boot:spring-boot-gradle-plugin:1.5.8.RELEASE

EN

回答 1

Stack Overflow用户

发布于 2017-11-07 02:17:19

看来包的层次结构问题。您必须在Gradle中包括子项目(app-web & app-repository)到resources部分。我的maven问题中也有同样的问题,并通过添加到参考资料部分来解决。我对gradle不在行,我找到了一个链接:resources

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47092106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档