SOCI会话SQL返回值

SOCI会话SQL返回值

问题描述:

在我的办公室,我为要求写在基本方面的一些测试情况下,DB连接检查和测试,所以这是我们戈纳实现新,所以没有人那里寻求援助之手以及和他们技术要求它为我做的就是写GTEST(谷歌测试)的C++与SOCI,SOCI会话SQL返回值

所以我现在的TestCase这样,

无论表得到了下降与否,

所以我写了一些代码这样,

TEST(CheckNull, DropTable) 
{ 
    bool output = true; 
    session sql(oracle, "service=LOCAL user=ROOT password=123"); 
    string query = "drop table GTestAutomation"; 
    sql<<query; 
    EXPECT_EQ(true,output); 
} 

现在我想检查我的SQL语句是否执行成功与否我可以做这样的事情?

if(sql<<query) 
{ 
    output = true ; 
} 
else 
{ 
    output = false; 
} 

这样我可以检查我的情况EXPECT_EQ(true,output);这样。

需要帮助,如果你不知道正确的做法或回答plz不要把等etc的意见。

感谢

+0

据我所知,sql RezgHansa 2014-12-05 11:18:10

如果你的语句没有成功执行,将SOCI抛出一个异常soci::soci_error,你可以赶上。所以你可以写这样的事情:

TEST(CheckNull, DropTable) 
{ 
    bool output = true; 
    session sql(oracle, "service=LOCAL user=ROOT password=123"); 
    string query = "drop table GTestAutomation"; 
    try{ 
     sql<<query; 
    } catch (soci::soci_error &e) { 
     output = false; 
    } 

    EXPECT_EQ(true,output); 
}