gpt4 book ai didi

java - 单元测试处理数据库记录的函数

转载 作者:行者123 更新时间:2023-12-02 06:48:31 25 4
gpt4 key购买 nike

单元测试应该只测试一个函数的逻辑并且应该“模拟”那个函数中使用的数据。我想知道我们如何将以下功能与“模拟”数据结合起来?或者即使它是正确的方法。函数签名是

    public String doSomething(int firstId, int secondId, int count){
//this function looks in a table e.g. C which has foreign keys from table A, and B
//if firstId and secondId exist in db table C return "already-exists"
//if count < a_column_value_in_table_C return "not-allow"
// else return "success"
}

firstIdsecondId 是两个不同表的外键。现在,我们如何根据以下方面对这个函数进行单元测试:1.单元测试应该如何设计才能测试函数中的3个场景2. 我们如何为这个单元测试准备数据,因为它需要来自两个不同表的外键。

最佳答案

您应该使用 Solid 原则中的依赖注入(inject)。拥有 doSomething 方法的类应该注入(inject)一些 Repository 或 DAO 等。

在您的单元测试中,您应该模拟存储库方法。

例如,假设您的 doSomething 方法调用存储库的 findById(...) 方法。您应该通过所需的输出模拟 findById 方法,并只测试流程的逻辑部分。

关于java - 单元测试处理数据库记录的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com