programing

C코드 테스트는 구글 테스트로 괜찮습니까?

javaba 2022. 8. 8. 17:31
반응형

C코드 테스트는 구글 테스트로 괜찮습니까?

C++ 프로젝트에 Google Test를 사용하는 것을 좋아하게 되었습니다.C++ 프레임워크라고 해도 Google Test를 계속 사용하지 않을 이유가 없다고 생각합니다.C++ 컴파일러를 사용할 수 있는 것은 문제가 되지 않습니다.

스트레이트 C 코드 테스트에 Google Test를 사용하면 안 되는 특별한 이유가 있습니까?

고마워요.

C++ 테스트 프레임워크를 사용하여 C 코드를 테스트하는 것은 매우 일반적이며, 이 주제에 대한 주요 책도 이 접근방식을 따릅니다.저는 과거에 C 코드를 테스트하기 위해 googletest를 많이 사용했고 추천할 수 있습니다.

도움이 될 수 있는 블로그 투고를 작성했습니다.http://meekrosoft.wordpress.com/2009/11/09/unit-testing-c-code-with-the-googletest-framework/

다른 포인트를 추가하려고 합니다.gtest는 C++이므로 테스트 대상 C 헤더는 C++로 해석됩니다.즉, 테스트에서는 헤더가 C에서 소비되는 것을 보증하지 않습니다.최근에 제가 짓고 있는 C 도서관과 마주친 적이 있어요.

구글의 모든 C++코드와 마찬가지로 구글 테스트는 예외를 사용하지 않으므로 예외 안전 흐름은 문제가 되지 않습니다.헤더에 C++ 호환성이 있는 경우(C++ 키워드를 사용하지 않고 올바른 링크를 사용하여 기호를 내보내는 경우)에는 문제가 없습니다.

제이슨, 그거 알아!!!:D

미크로소프트가 말했듯이, 네, 가능합니다.나도 그것을 하려고 할 때 그의 웹사이트를 이용했다.효과는 있지만 큰 문제가 하나 있습니다.

GTest는 오브젝트 지향의 툴이지만 C언어는 그렇지 않습니다.

예를 들어 GTest에서는 오브젝트를 파라미터로 요구하는 함수(API 전체의 80%)가 많이 있습니다.다음은 예를 제시하겠습니다.

EXPECT_CALL(turtle, PenDown())              // turtle is object(class) and PenDown() is method of that object
      .Times(AtLeast(1));

GTest 웹사이트 https://code.google.com/p/googlemock/wiki/ForDummies에서 사용할 수 있으므로 expect_displays, expect_displays_than 등의 매크로만 사용할 수 있습니다.

CMocka(또는 다른 C 유닛 테스트 툴)를 제안합니다.또한 구글(비구글 개발자 그룹에 의해 수정됨)에서 가져온 것으로 C 언어용으로 직접 작성됩니다.C형 소스 코드를 테스트하고 싶을 때 사용합니다.

이게 도움이 됐으면 좋겠는데..:-) 좋은 하루 되세요..:-)

이름을 말할 수 없었어요."일반" C에는 없는 것이 있을 것입니다.예를 들어 Test Case는 특정 클래스에서 파생된 것이라고 생각합니다.하지만 테스트에서는 원하는 것을 테스트할 수 있는데 C는 왜 안 되나요?

언급URL : https://stackoverflow.com/questions/5335268/is-google-test-ok-for-testing-c-code

반응형