在C ++ TDD中调用重载const与非const方法的好方法?

时间:2016-07-29 01:06:33

标签: c++ unit-testing tdd catch-unit-test

所有

用迭代器写了一些花哨的容器。所以我有

iterator begin() {
}

iterator end() {
}

const_iterator begin() const {
}

const_iterator end() const {
}

在测试中我实例化容器,填充并测试它。调用const和非const版本的接受/好方法是什么?说,像

这样的简单测试
TEST( c.end() - c.begin() == c.size() );

应该运行迭代器以及const迭代器。 Const参考?有些丑陋的演员?

2 个答案:

答案 0 :(得分:5)

我只会做一个const&它:

const container& constC= c;
TEST(constC.end() - constC.begin() == constC.size());

答案 1 :(得分:1)

根据std惯例,我认为不会重载它们是一个更好的解决方案。

改为声明cbegin()cend()