unit-testing - 请建议一种对简单功能进行单元测试的方法

标签 unit-testing

假设我有以下函数(伪代码):

bool checkObjects(a, b)
{
    if ((a.isValid() && (a.hasValue()) || 
        (b.isValid() && (b.hasValue()))
    {
        return true;
    }

    return false;
}

我应该编写哪些测试才能声称它已 100% 覆盖?

总共有 16 种可能的输入组合。我应该编写 16 个测试用例,还是应该聪明地省略一些测试用例?

例如,我应该为

编写测试吗
[a valid and has value, b valid and has value]

如果我测试它返回预期的内容

[a valid and has value, b invalid and has value]

[a invalid and has value, b valid and has value]

谢谢!

P.S.:也许有人可以推荐有关单元测试方法的好读物?

最佳答案

Kent Beck 的测试驱动开发做得很好,正在成为经典 (http://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530)

如果您想彻底检查,那么 16 次检查是值得的。

关于unit-testing - 请建议一种对简单功能进行单元测试的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4925770/

相关文章:

python - 'pytest' 退出时没有错误,但出现 "collected 0 items"

c# - 无法在我的 .NET Core 单元测试项目中加载文件或程序集 Microsoft.AspNetCore.Mvc.ApiExplorer

c# - 在不创建单独项目的情况下使用 Nunit

unit-testing - 模拟对象 - 设置方法 - 测试驱动开发

javascript - 使用 mocha 测试调用内部 Promise 的函数

java - 我们可以用 PowerMock 创建一个模拟的 java.lang.Class 实例吗?

ios - 在 ios 相关查询中对登录 View Controller 进行单元测试

内容为CountDownTimer类的Android单元测试方法

reactjs - Jest 进行 spy 事件时出现类型错误 : Cannot set property getRequest of#<Object> which has only a getter

ruby-on-rails - rake 测试无法识别测试文件夹中的新文件夹