代码之家  ›  专栏  ›  技术社区  ›  ryeguy

测试简单的构造函数和默认值被认为是“测试语言”,还是可以接受?

  •  2
  • ryeguy  · 技术社区  · 14 年前

    class Foo
    {
        public $var = 'default val1';
        public $var2 = 4;
        public $var3;
    
        public function __construct($var3)
        {
            $this->var3 = $var3;
        }
    }
    

    很简单。 $var $var2 $var3 通过构造函数初始化。

    不过,对某些人来说,这需要3次测试。两个用于检查是否初始化了默认值,第三个用于检查 通过构造函数分配。对我来说,这似乎是一种浪费——我似乎在测试语言对这些功能的实现。

    像这样考试是个好主意吗?如果是,为什么?

    3 回复  |  直到 14 年前
        1
  •  2
  •   David Thornley    14 年前

    编写测试来测试编译器是不值得的,而且通常不适合真正简单的代码。除非你有某种外部要求。

    但是,这并不能防止将来对 Foo

        2
  •  1
  •   Grant Crofton    14 年前

    对我来说好像是在浪费时间。没有逻辑的东西不需要测试——只要测试得足够好,构造函数、setter等的任何问题都会暴露在某个地方。

        3
  •  0
  •   Björn Pollex    14 年前

    如果此行为是公共接口的一部分,则应对其进行测试。客户端代码可能依赖于 $var 默认情况下具有此特定值。测试应该确保如果有人改变了它就会被注意到。