首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >googleTest持续测试

googleTest持续测试
EN

Stack Overflow用户
提问于 2012-07-06 17:43:34
回答 2查看 7K关注 0票数 2

我想知道我是在测试这个测试中列出的所有等式,还是只测试了第一个。

代码语言:javascript
复制
class SomethingTest : public testing::Test
{
public:
    SomethingTest() { }
    virtual ~SomethingTest() { }
};

      TEST_F(SomethingTest, Score)
    {
        Computer computer;
        FourInARowStrategy* strategy = new FourInARowStrategy();

        vector<vector<int>> brd;
        for(int i=0; i<6 ;i++)
        {
            vector<int> row ;
            for(int j=0;j<7;j++)
               row.push_back(0);
            brd.push_back(row);
         }

         brd[5][5]=1;
         brd[5][4]=2;
         brd[5][3]=1;
         brd[5][2]=1;
         brd[5][1]=1;
         brd[4][5]=2;
         brd[4][4]=2;
         brd[4][3]=1;
         brd[4][2]=1;
         brd[3][2]=2;
         brd[3][1]=2;
         brd[4][1]=2;

         strategy->setGameBoard(brd);
         strategy->displayBoard();
         EXPECT_EQ(9,computer.rowScoreAPlay(2,3,3,strategy));
         EXPECT_EQ(9,computer.scoreAPlay(2,3,3,strategy));
         EXPECT_EQ(0,computer.colScoreAPlay(2,3,3,strategy));
         EXPECT_EQ(5,computer.colScoreAPlay(1,3,3,strategy));
     }

     //... 
     }

你会有google的单元测试和良好的单元测试开发的ref吗?

谢谢并致以问候。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-06 20:29:38

无论它们是通过还是失败,您都在对它们进行测试。这是因为您使用的是EXPECT_EQ而不是ASSERT_EQ

来自the docs

当它们失败时,ASSERT_*会产生一个致命的失败,并从当前函数返回,而EXPECT_*会产生一个非致命的失败,允许函数继续运行。

通常,EXPECT_*是更好的选择,因为测试的其余部分可以继续运行,并且可以提供有用的输出。但是,如果测试不应该继续,则ASSERT_*更好。

例如,如果您希望std::vector<std::string> results中的第一个元素为"OK“,则可以这样做:

代码语言:javascript
复制
ASSERT_FALSE(results.empty());  // No point continuing if results is empty
EXPECT_EQ("OK", results[0]);    // Check first element
票数 15
EN

Stack Overflow用户

发布于 2012-07-06 18:07:05

我想知道我是在测试这个测试中列出的所有等式,还是只测试了第一个。

来自their introduction page

ASSERT_*版本在失败时会生成致命故障,并中止当前函数。

这意味着第一个失败的断言将停止测试。

但这并不重要,因为所有的测试都应该通过。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11359758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档