저는 CppUnit을 꽤 오랫동안 사용해 왔습니다 (그리고 만족합니다). Boost 라이브러리에 점점 더 많은 부분을 사용하면서 boost.test에 대해 간략하게 살펴 봤습니다. 이제 새로운 프로젝트에서 boost.test로 전환해야하는지 궁금합니다.boost.test 대 CppUnit
두 사람의 프레임 워크의 차이점과 boost.test를 사용할 때의 이점 (있는 경우)에 대해 알려줄 수 있습니까?
저는 CppUnit을 꽤 오랫동안 사용해 왔습니다 (그리고 만족합니다). Boost 라이브러리에 점점 더 많은 부분을 사용하면서 boost.test에 대해 간략하게 살펴 봤습니다. 이제 새로운 프로젝트에서 boost.test로 전환해야하는지 궁금합니다.boost.test 대 CppUnit
두 사람의 프레임 워크의 차이점과 boost.test를 사용할 때의 이점 (있는 경우)에 대해 알려줄 수 있습니까?
호감을 갖고 Google Test으로 바로 가면 CppUnit 및 boost::unit_test
이 거칠고 반복적으로 보입니다. 예를 들어
, 당신은 간단하게 고정이 있다고 :
class MyFixture : public ::testing::Test
{
protected:
int foo;
virtual void SetUp() { foo = 0; }
};
당신의 고정에 테스트를 추가하려면를, 그것을 쓰기!
TEST_F(MyFixture, FooStartsAtZero) {
EXPECT_EQ(0, foo);
}
그게 전부입니다. 명백한 testsuite 선언이 없거나 모든 테스트 이름을 반복하는 별도의 의제가 있음을 주목하십시오.
$ g++ -o utest utest.cpp -lgtest -lgtest_main
에로 컴파일하고
Running main() from gtest_main.cc [==========] Running 1 test from 1 test case. [----------] Global test environment set-up. [----------] 1 test from MyFixture [ RUN ] MyFixture.FooStartsAtZero [ OK ] MyFixture.FooStartsAtZero (0 ms) [----------] 1 test from MyFixture (0 ms total) [----------] Global test environment tear-down [==========] 1 test from 1 test case ran. (0 ms total) [ PASSED ] 1 test.
를 얻을 수 있도록 테스트를 실행 (자신이 테스트를 통과하기위한 좋은 녹색 텍스트를보고 그것을 실행!)
이 단지입니다 처음. 가능한 다른 것을 보려면 Google Test primer과 advanced guide을보십시오. 이 덜 어설픈 Boost.Test 대안보다 어떻게
: 실제로 조금 더
class MyFixture { MyFixture() { /* setup here */} };
BOOST_AUTO_TEST_CASE(my_test, MyFixture)
{
BOOST_CHECK_EQUAL(0, foo);
}
매크로, 그러나 이것은 안전 및 C++에서 연습을하는 것이 좋습니다.
아직 Google 테스트를 선호하는 한 가지 기술적 인 이유가 있습니다. Boost.Test를 선호하는 경우가 많습니다. 나머지는 당신의 취향입니다.
나는 Boost.Test를 많이 사용합니다. "Boost.Test를 선호하는 사람들이 꽤 많습니다"라고 자세히 설명해 주시겠습니까? –
Boost.Test를 선호하는 이유에 대해서도 궁금합니다. googletest보다 어떤 이점이 있습니까? – Eloff
이러한 장점은 무엇입니까? – Etherealone
http://stackoverflow.com/questions/242926/comparison-of-c-unit-test-frameworks에 대한 답변이 유용 할 것입니다. –
@Alex : 귀하의 게시물에 감사드립니다. 거기에 몇 가지 유용한 링크가 있습니다. – chrmue
좋은 링크, AAlex, +1. @chrmue, 명확히하기 위해 - 당신이 찾고있는 비교가 부스트 사용자로 가정되어야 하는가? "부스트를 사용하여 개발한다면 부스트 텍스트를 사용하는 것이 유리합니까?"라고 묻고 있습니까? 또는 당신은 간단하게 비교를 찾고 있습니까? – Mawg