我的GUI组件的单元测试是否包含比测试中的代码更多的行?

ste*_*dig 6 java user-interface unit-testing mocking

这是一个完整性检查,因为我发现在我们的代码中这是真的.与我们的功能代码不同,状态GUI的测试由于状态设置,组合案例分析以及模拟/伪造邻居/合作者/听众/等等而具有不幸的权重.我错过了什么吗?感谢您的反馈意见.

笔记:

  • 测试在JVM中运行,一切都是POJO.
  • 到目前为止,我们通过增加单位尺寸进行了一些简化:测试更多粘合在一起的部分.

新笔记:

  • 我们正在使用jUnit和Mockito.

Tom*_*icz 5

  1. 避免代码重复.应提取常见的设置代码和操作
  2. 寻找层次结构.不要写一个巨大的测试场景.将公共线组合在一起并将它们提取为有意义的方法.继续构建多层测试场景
  3. 考虑更好的工具. 黄瓜,FEST断言,Scala或Groovy作为测试DSL(即使你不在生产代码中使用它们),mockito ......

除此之外,生产数量和代码测试线之间的关系是无关紧要的.我可以很容易地找到一个极短的代码示例,它具有如此多的边缘情况,需要进行数十次测试.

以及SQLite(强调我的)的现实例子:

[...]库包含大约81.3 KSLOC的C代码.[...]相比之下,该项目拥有1124倍的测试代码和测试脚本 - 91421.1 KSLOC.

没错,每行生产代码大约有1100行测试代码.