如何重写以下代码以使其更易于测试?

时间:2016-02-19 22:58:39

标签: c++ testing refactoring

这是编程作业。我想重写代码以使其更易于测试,但我不知道它有什么问题。

class Widget {
    private:
        static Toggle toggle;
        Gear gear;
    public:
        Widget();
};

2 个答案:

答案 0 :(得分:0)

想想你想为你的构造函数和你的私有值/对象编写一个测试,你想要做的是测试你的类的构造函数,看看你何时调用它,你将返回一个同一个类的实例? 如何添加一个方法来访问这些私有变量/对象?因为您在编写测试用例时无法访问私有值。

答案 1 :(得分:0)

既然这是你的作业,我不打算给你解决方案。相反,我会帮助您找到解决方案。

我可以发现两个问题 - 1)静态变量2)紧耦合(使用Gear)。由于这两个问题,测试这个Widget类很困难。

要详细了解,您可以观看此(或类似)视频 - OO design for testability