我有A类:
class A
{
public:
void setA1(int new_a){a1 = new_a;}
void setA2(int new_a){a2 = new_a;}
bool numbersAreEqual() {b.isEqual(a1,a2);}
private:
B b;
int a1;
int a2;
};
然后我有B类:
class B
{
public:
bool isEqual(int b1, int b2) { return (b1 == b2);}
}
然后在单元测试中我想分别测试 A 类和 B 类,我需要存根 B 类来测试 A 类。这两个类都在同一个二进制文件中测试。
我做了代码
using namespace stub;
bool UnitTest_A()
{
A a;
a.setA1(1);
a.setA2(2);
return a.numbersAreEqual();
}
然后我有 stub.h:
namespace stub {
class B
{
public:
bool isEqual(int b1, int b2);
}
}
和 Stub.c
namespace stub {
bool B::isEqual(int b1, int b2)
{
return true;
}
}
现在测试用例失败,因为似乎没有使用存根。在 Makefile 我已经定义了 A.cpp、B.cpp、TestMain.cpp、TestA.cpp、TestB.cpp 和 Stub.cpp 文件。