我正在尋找一個適合我需求的測試框架。以下是我需要在自動化測試執行步驟:組件測試的測試框架
- 設置(有一些輸入文件,需要被讀取或拷貝到一些特定的文件夾。)
- 執行(單獨運行的立場)
- 推倒(清理,使系統在其舊州)
除此之外我也想有一些情報,以確保如果一個.cc文件改變時,可以驗證的所有測試應該運行更改。
我評估PyUnit中,CppUnit的使用scons的這一點。思考這個問題,以確保我的方向正確。你能推薦任何其他測試框架工具嗎?還有什麼其他的要求應該考慮選擇正確的測試框架?
我正在尋找一個適合我需求的測試框架。以下是我需要在自動化測試執行步驟:組件測試的測試框架
除此之外我也想有一些情報,以確保如果一個.cc文件改變時,可以驗證的所有測試應該運行更改。
我評估PyUnit中,CppUnit的使用scons的這一點。思考這個問題,以確保我的方向正確。你能推薦任何其他測試框架工具嗎?還有什麼其他的要求應該考慮選擇正確的測試框架?
看完這篇文章http://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle前一段時間之後,我去了CxxTest。
一旦你擁有的東西設置(需要安裝例如Python)的它很容易編寫測試(我是完全新的單元測試)
我用它在工作中,整合爲一個Visual Studio項目在我的解決方案。它在測試失敗時產生可點擊的輸出,並且每次構建解決方案時都會構建並運行測試。
我最近切換到gTest,我還沒有用它在一個真正的項目,但它確實看起來不錯。我喜歡易用性,並且不需要像CxxTest那樣安裝python或perl。 – 2010-04-29 19:02:02
嘗試googletest AKA gTest它沒有比任何其他單元測試框架更糟糕,但也可以輕鬆擊敗一些易用性。不完全是您正在尋找的集成測試工具,但可以在大多數情況下輕鬆應用。這個wikipedia頁面可能對你有用。
下面是一個簡單的GTEST項目頁面上的副本:
#include <gtest/gtest.h>
namespace {
// The fixture for testing class Foo.
class FooTest : public ::testing::Test {
protected:
// You can remove any or all of the following functions if its body
// is empty.
FooTest() {
// You can do set-up work for each test here.
}
virtual ~FooTest() {
// You can do clean-up work that doesn't throw exceptions here.
}
// If the constructor and destructor are not enough for setting up
// and cleaning up each test, you can define the following methods:
virtual void SetUp() {
// Code here will be called immediately after the constructor (right
// before each test).
}
virtual void TearDown() {
// Code here will be called immediately after each test (right
// before the destructor).
}
// Objects declared here can be used by all tests in the test case for Foo.
};
// Tests that Foo does Xyz.
TEST_F(FooTest, DoesXyz) {
// Exercises the Xyz feature of Foo.
}
使用SCons可以照顧構建.cc
他們被改變時,GTEST可以用來安裝和拆卸你的測試。
我只能補充一點,我們在某些情況下使用GTEST,並在幾乎所有其他的自定義的內部測試自動化框架。通常情況下,這些工具可能比編寫自己的工具更容易,而不是嘗試根據需求調整和調整其他工具。
一個不錯的選擇IMO,這是值得我們的自動化測試框架向移動,使用nosetests,再加上常見的程序庫(如啓動/停止服務,得到什麼地位,能夠在一定/禁用記錄組件等)。這爲您提供了一個相當易於使用的靈活系統。由於它使用python而不是C++或類似的東西,所以更多的人可能會忙於創建測試用例,包括QE,這些測試用例不一定需要能夠編寫C++。
請描述您的被測系統。你在使用哪種語言/框架?是linux,windows還是mac。或者甚至可能是一個web應用程序。 – 2010-01-21 18:25:15
System Under Test是一個在Windows平臺上運行的C++應用程序。 – sand 2010-01-23 12:40:09