小编Lee*_*eeC的帖子

GoogleTest:尝试获取带有测试的抽象基类,然后使用派生类定义多个测试方案

为了对某些代码进行BDD样式测试,我有一组要在多种情况下执行的测试。我已经在C#中使用NUnit&NSubstitute完成了很多次,但是我正在努力通过GoogleTest实现C ++代码的预期结果。

我想做什么的概念-但由于BaseTest中的纯虚方法,甚至无法编译为:

class BaseTest : public ::testing::Test {
protected:
    int expected = 0;
    int actual = 0;

    virtual void SetUp() {  printf("BaseTest SetUp()\r\n"); }
    virtual void TearDown() {  printf("BaseTest TearDown()\r\n"); }
    virtual void PureVirtual() = 0;
};

TEST_F(BaseTest, BaseTest1)
{
    printf("BaseTest BaseTest1\r\n");
    ASSERT_EQ(expected, actual);
}

class ScenarioOne: public BaseTest {
public:
    virtual void SetUp()
    {
        BaseTest::SetUp();
        printf("ScenarioOne SetUp()\r\n"); 
        actual = 20;
        expected = 20;
    }

    virtual void PureVirtual() {}
};

class ScenarioTwo: public BaseTest {
public:
    virtual void SetUp() …
Run Code Online (Sandbox Code Playgroud)

googletest

5
推荐指数
1
解决办法
403
查看次数

标签 统计

googletest ×1