先来简单的,期望一个调用不会抛出异常
TEST_F(yourProxyEMHandlerTest, saveRecievedDadStatusInvalidParameter)
{
rpc_event::Event event;
EXPECT_NO_THROW(yourProxyHandler::saveRecievedDadStatus(&event));
rcp_event::EventData* eventData = event.mutable_data();
EXPECT_NO_THROW(yourProxyHandler::saveRecievedDadStatus(&event));
eventData->set_sub_id(rcp_event::kNwdiagEventFieldNumber);
EXPECT_NO_THROW(yourProxyHandler::saveRecievedDadStatus(&event));
}
期望函数调用会抛出异常
TEST_F(PluginTest, LoadingDefaultDirectoryWithoutLibraryFileShouldThrowException)
{
EXPECT_THROW(PluginManager pluginManager(systemMock_, path_.string()), PluginLoadException);
}
主动设置内部调用抛出异常
TEST_F(yourProxyPMHandlerTest, getInterfaceCounters_executeRPCFailed)
{
InterfaceCountersList tmCountersList;
const std::string filter = "your_filter";
EXPECT_CALL(*yourtesting::mockcontextrpchandler(), executeCommand(_, _)).Times(1).WillOnce(testing::Throw(your_testing::NoDataFound("failed")));
EXPECT_EQ(mProxy->getInterfaceCounters(tmCountersList), ErrorValue::Failed);
}