【问题标题】:Is code coverage for all existing test cases?所有现有测试用例的代码覆盖率?
【发布时间】:2017-07-20 05:38:15
【问题描述】:

我对代码覆盖率有疑问。

考虑以下场景,

如果我有带有一些参数的方法 Sample() 并且我为该方法编写了示例 10 测试用例。

在运行代码覆盖时,如果代码的一部分(例如 if 条件)仍未被覆盖。

所以如果我要通过编写新的测试用例来覆盖 if 条件,

  • 我可以通过单独使用有效参数来覆盖该代码(使用任何一个已经存在的测试用例)。

我的疑问是,

单个测试用例是否足以用于未覆盖的代码?否则我必须通过重复该方法的所有现有 10 个测试用例来覆盖代码?

【问题讨论】:

  • 我希望我的回答,解决你的问题,然后你可以将其标记为已回答;)

标签: unit-testing code-coverage


【解决方案1】:

仅 100% 的代码覆盖率并不是一件容易的事。

以您的示例为例,这取决于您的上下文(功能) - 它可能是两个不同的场景。一个是,white box testing,您有两个现有路径 - IF = TRUE 或 FALSE。 然后给定的一组参数会在您的函数内部生成其他路径,但是如果您的函数是关于验证的,并且所有给定场景的测试用例测试相同的结果(有效/无效的参数集),那么所有案例的预期结果都是相同的。但如果你把成功和失败混为一谈,那么应该是分开的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-19
    • 2017-09-23
    • 2014-01-08
    • 1970-01-01
    • 2012-01-18
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多