当前位置: 首页 > 知识库问答 >
问题:

Spring单元测试,如何检查方法在数据库中存储信息?

宫亦
2023-03-14

我是spring的新手,目前我正在尝试为我的项目执行单元测试。我已经用hibernate配置了spring,现在我想检查创建的类的方法是否工作。例如,假设我有:

@Entity
@Table(name = "product")
public class DefaultProduct implements Product, Serializable {

private static final long serialVersionUID = 1L;

@Id
@Column(name = "product_name", nullable = false)
private String productName;

@Column(name = "product_price", nullable = false)
private double productPrice;

@Column(name = "product_quantity", nullable = false)
private int productQuantity;

@OneToMany(fetch = FetchType.LAZY, mappedBy = "product")
private Set<DefaultAccount> account;

public String getProductName() {
    return productName;
}

public void setProductName(String productName) {
    this.productName = productName;
}

public double getProductPrice() {
    return productPrice;
}

public void setProductPrice(double productPrice) {
    this.productPrice = productPrice;
}

public int getProductQuantity() {
    return productQuantity;
}

public void setProductQuantity(int productQuantity) {
    this.productQuantity = productQuantity;
}

public Set<DefaultAccount> getAccount() {
    return account;
}

public void setAccount(Set<DefaultAccount> account) {
    this.account = account;
}

如何正确测试这些方法?最好的选择是什么?我习惯在JUnit测试中使用assertTrue和assertFalse,但我担心这在我的情况下不是一个好的选择。谢谢你。

共有1个答案

邓兴为
2023-03-14

单元测试不应命中数据库。POJO的单元测试应该处于模块化的最低级别。

 类似资料:
  • 我想要一个在Spring数据的帮助下创建的存储库(例如)。我不熟悉spring-data(但不熟悉spring),我使用本教程。我选择的处理数据库的技术是JPA2.1和Hibernate。问题是我不知道如何为这样的存储库编写单元测试。 让我们以方法为例。由于我正在进行测试--首先,我应该为它编写一个单元测试--这就是我遇到三个问题的地方: > 首先,如何将的模拟注入到不存在的接口实现中?Sprin

  • } 然后我有我的服务课,看起来像这样 然后是我的存储库:

  • 我有一个Spring Data JPA存储库,只要不添加Spring Security性依赖项(spring-boot-starter-security)并在存储库上添加相应的方法授权注释,单元测试就可以正常工作。添加后,在运行单元测试时,我会得到一个AuthenticationCredentialsNotFound异常。 如何在单元测试中“验证”对存储库方法的调用?

  • 问题内容: 我希望在编写用于测试某些数据库条目的单元测试中获得一些建议。 如果找不到记录,则我正在测试的功能会将数据库作为种子。 我似乎不太了解如何进行len测试。我正在使用测试数据库,因此我可以在任何时候都对其进行核对,因此,如果我只需要在函数上强制使用一个空的数据库,就没有问题了。 该函数本身可以正常工作,我只想确保已覆盖该函数。 任何建议都很好。 谢谢! 问题答案: 确实取决于您,有很多方法

  • 我是新的弹簧靴,做了我的第一个实体。如何测试存储库?我使用的是本地MySQL数据库。那么第一步就是嘲弄数据库? 而我的存储库只是扩展了Jparepository。 我得到的错误是java.lang.IllegalStateException:未能加载ApplicationContext。还有一点:无法用嵌入式数据库替换DataSource进行测试。如果您想要一个嵌入式数据库,请在类路径上放置一个受

  • 问题内容: 我想知道是否有一种优雅的方法来检查数据库的存在?简而言之,如何测试数据库连接字符串的连接? 谢谢 问题答案: 设置在连接字符串中,并执行: 与设置为数据库的名称。 如果要整体检查连接字符串(而不是独立数据库的存在),请尝试以块形式连接到它。