如何用c ++编写测试代码

时间:2015-08-12 09:13:47

标签: c++ unit-testing

BufferContainer::BufferContainer( uint8_t* buffer, size_t size, size_t usz):
            buffer_ptr(buffer),
            buffer_position(0),
            total_size(size),
            required_size(0),
            used_size(0) {}

我需要测试上面的构造函数(单元测试)。请帮忙!

2 个答案:

答案 0 :(得分:2)

您正在测试构造函数,您不能像普通函数一样调用它。即使你能够做到这一点,问题在于构造者不会返回任何东西,因此你无法看到他们是否完成了他们打算做的工作。

构造函数初始化对象的内部状态。所以最好的方法是

  • 创建BufferContainer的实例。
  • 我确信这个类的其他方法依赖于内部状态。创建测试这些方法的测试用例。

答案 1 :(得分:0)

也许您可以使用以下步骤:

  1. 使用构造函数创建对象A

  2. 检查A中成员变量的值。根据检查成员变量的值,您可以确保您的构造函数是否正常工作。

  3. 编辑:要检查A中的私人成员,您应该提供get()功能。例如:

    `class Example
    {
    public:
        Example(const int& a):_a(a){}
        ~Example(){}
        const int& get() const
        {
            return _a;
        }
    private:
        int _a;
    }`
    

    当你测试时,你可以这样做:

    int main()
    {
        Example A(5);
        std::cout << A.get() << endl;
        return 0;
    }