0

我有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 文件。

4

0 回答 0