2012-10-04 41 views
3

這裏通過C/C++測試運行器插件運行就是我已經試過:設置谷歌測試在Eclipse在Ubuntu 12.04

在項目屬性我已經包括libaries下libgtest_main.a和libgtest.a標籤。

在「C++單元」選項卡下的運行配置中,我已將C/C++測試設置爲Google Tests Runner。

在運行配置中,在主選項卡下,將C/C++應用程序設置爲在構建項目期間創建的二進制文件。

我已經創建了一個測試文件夾作爲我的項目的一部分,並在那裏寫入我的測試。

這是我的代碼:

#include "../src/agent.h" 
#include "../src/agent.cpp" 
#include "gtest/gtest.h" 

TEST(AgentTest, voidConstructorWorksProperly) { 
Agent testAgent = Agent(); 
ASSERT_EQ(0, testAgent.getBrain()); 
} 


int main(int argc, char **argv) { 
    testing::InitGoogleTest(&argc, argv); 
    return RUN_ALL_TESTS(); 

} 

我上的測試功能得到一個語法錯誤和對InitGoogleTest和RUN_ALL_TESTS「無法解析」。

希望有人可以幫忙 - 我已經在這個小時,這似乎是我錯過了一些簡單的東西。

回答

2

我有一個類似的問題,解決它運行此腳本

 ./scripts/fuse_gtest_files.py . /yourprojectdir/ 

它存在於您安裝谷歌測試框架(即/tmp/gtest-1.5.0)

我不知道這是否是最好的解決方案,但它對我有用。

0

我最近有類似的問題。

首先擺脫語法錯誤和「無法解決」的問題我已經改變了Eclipse中C++索引器的偏好 - 它幫助只改變一個設置,點擊Apply然後回到原始狀態然後點擊好。

接下來,在eclipse中運行測試的情況下。請注意,您需要將運行配置設置爲包含運行測試(由您提供的測試)的主函數的二進制文件。可能如果你將測試作爲你已經有入口點的另一個項目的一部分,那麼你已經將它設置爲二進制文件而不是測試文件。由於無法使用兩個主要功能構建項目,因此必須對源文件進行一些過濾,以便爲主應用程序提供獨立的構建配置,另一個用於測試。不幸的是我已經完成了。

這博客文章可能對您有所幫助:

http://codetrips.blogspot.com/search/label/gtest

他們幫助我對這個話題有很多。