为 Quarkus Panache 实体编写单元测试的最佳实践

问题描述 投票:0回答:1

我正在使用 Quarkus 框架开发一个项目,并且我已经使用 Quarkus Panache 作为我的数据持久层实现了一些实体。现在,我正在尝试编写单元测试来确保数据操作的完整性,特别关注测试实体之间的关系以及删除单个实体时的级联行为。

这是实体结构的简化示例:

@Entity
public class Author extends PanacheEntity {
    @Column(unique = true, nullable = false)
    public String name;
    // ...
}

@Entity
public class Book extends PanacheEntity {

    public String title;

    @OneToMany(
            cascade = CascadeType.PERSIST,
            orphanRemoval = true)
    public Author author;
    // ...
}

我找到了数十个有关如何测试端点和服务的示例,并且我知道这是常规的测试方法。然而,我经常遇到与实体关系相关的错误,并希望找到一种有效测试我的数据结构的方法。

hibernate unit-testing quarkus quarkus-panache
1个回答
0
投票

您无法对实体进行单元测试,您需要 IT 测试:

@QuarkusTest
class EntityTest

@Test
@TestTransaction
void crud(){
  var author=new Author();
  author.persist();
  // etc.
  var authors= Author.list();
}

另请参阅: https://quarkus.io/guides/getting-started-testing#tests-and-transactions

© www.soinside.com 2019 - 2024. All rights reserved.