Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 长方法和测试私有方法-设计问题_Ruby On Rails_Unit Testing - Fatal编程技术网

Ruby on rails 长方法和测试私有方法-设计问题

Ruby on rails 长方法和测试私有方法-设计问题,ruby-on-rails,unit-testing,Ruby On Rails,Unit Testing,我有一个很长的方法。它会复制一个具有所有关系的ActiveRecord对象,并在某些情况下更改关系。为了使代码更具可读性,我使用私有方法。我想测试一下。从技术上讲,在Ruby中这是没有问题的,但我怀疑,我的设计很糟糕。您对如何处理这种情况有什么建议吗?一个学派认为,每一个重要的私有方法都应该通过测试类的公共接口进行隐式测试。如果私有方法没有通过公共接口被调用,那么它是多余的。如果您的私有方法是复杂的,需要自己的测试,您应该考虑将其放入自己的类中并测试该类。 简而言之,不必显式地测试您的私有方法

我有一个很长的方法。它会复制一个具有所有关系的ActiveRecord对象,并在某些情况下更改关系。为了使代码更具可读性,我使用私有方法。我想测试一下。从技术上讲,在Ruby中这是没有问题的,但我怀疑,我的设计很糟糕。您对如何处理这种情况有什么建议吗?

一个学派认为,每一个重要的私有方法都应该通过测试类的公共接口进行隐式测试。如果私有方法没有通过公共接口被调用,那么它是多余的。如果您的私有方法是复杂的,需要自己的测试,您应该考虑将其放入自己的类中并测试该类。

简而言之,不必显式地测试您的私有方法


正如俗话所说:“不要碰你的隐私。”

一个学派认为,每一个重要的私有方法都应该通过测试类的公共接口进行隐式测试。如果私有方法没有通过公共接口被调用,那么它是多余的。如果您的私有方法是复杂的,需要自己的测试,您应该考虑将其放入自己的类中并测试该类。

简而言之,不必显式地测试您的私有方法

俗话说:“不要碰你的私处。”

谁说这是个笑话?谁说这是个玩笑?