내가, 내가 static_assert
들과 함께 테스트 할 수 있습니다 템플릿 코드를 많이 가지고 상상 그것을 컴파일? -fsyntax-only
가 작동하지 않는 것 같습니다.단위 테스트 템플릿 코드
답변
같은 테스트를 작성하려고 할 것 :
clang -c -o /dev/null -xc++ - <header.h
단계별 :
-c
- 컴파일하지만
을 생성하지 않는-o /dev/null
링크 - 모든 출력 파일-xc++
- 소스 유형이 될 것 C++-
- 표준 입력으로 주어진 소스<header.h
- 공급 헤더 파일을 입력으로
또한 프로젝트에 관련된 모든 것을 -D
또는 -I
플래그로 전달해야합니다.
echo '#include "header.h"' | clang -c -o /dev/null -xc++ -
억제가 당신의 컴파일러가 간접적으로
-Wpragma-once-outside-header
공급 헤더
약echo
과를 지원하는 경우 :#pragma once in main file
, 당신도 할 수있는 경고를 해결하려면꼬리말
-
을 잊지 마세요.
의 당신이 gtest 같은 테스트 프레임 워크를 가정하지 않도록 글쎄, 나는 gcc
및 clang
모두 stdin
읽을 수있는 사실을 사용
TEST_F(MyTestClass,CheckSomeUtilCompiles) {
std::string codeInQuestion = R"(
#include "MyTemplate.h"
int main() {
// instantiate SomeUtil with some invalid condition:
SomeUtil<int> x;
}
)";
std::ofstream testFile("testcode.cpp");
testfile << codeInQuestion;
testfile.close();
EXPECT_EQ(?,system("$CPP -c $CPPFLAGS testcode.cpp -o /dev/null"));
//^Something other than zero
}
나는 그것을 실제로 시도한 적이 없기 때문에 아마도 실제로 잘 작동 할 수 있지만, 다소 과민하고 과도하게 보인다. 컴파일 코드 스 니펫을 시도하는 쉘 스크립팅 언어에서 테스트 하니스를 선호합니다.당신은 그것을 위해 당신 만의 테스트 하네스를 작성해야하지만 아주 간단합니다. –
@KonradRudolph _ "쉘 스크립팅 언어로 테스트 하네스를 사용하는 것을 선호합니다."_ 저는 정기적 인 단위 테스트에서 이러한 것들을 테스트하는 것을 선호합니다. –
사실 너는 나를 납득시켰다. –
- 1. 단위 테스트 Freemarker 템플릿
- 2. 코드 의존성 단위 테스트
- 3. 단위 테스트 코드 생성
- 4. 단위 테스트 수학 코드
- 5. 단위 테스트 동시 코드
- 6. 에스프레소 단위 테스트 : 코드
- 7. 단위 테스트 목적 C 코드
- 8. 단위 테스트 코드 생성 방법
- 9. 단위 테스트 Excel VBA 코드
- 10. Modernizr을 사용하는 단위 테스트 코드
- 11. PromiseKit 사용 단위 테스트 코드
- 12. SQL 코드 생성기 단위 테스트
- 13. C# 단위 테스트 코드 질문
- 14. 유니 코드 지원을위한 단위 테스트
- 15. WF 코드 활동 단위 테스트
- 16. 단위 테스트 절차 코드 C
- 17. PortalSiteMapProvider를 사용하는 단위 테스트 코드
- 18. 단위 테스트 방법 CodeIgniter 코드
- 19. 단위 테스트 메소드 호출 (템플릿 메소드)?
- 20. C++ 단위 테스트 테스트, 템플릿 테스트 클래스 사용
- 21. 단위 테스트 용 핸들 막대 템플릿
- 22. 단위 테스트 템플릿 메소드 디자인 패턴
- 23. Google 테스트 단위 테스트
- 24. 레이어 단위 계획 단위 테스트
- 25. C# - 단위 테스트/조롱 - 레거시 코드
- 26. 단위 테스트 네임 스페이스의 C++ 코드
- 27. 아이폰 OS - 단위 테스트 Asynchoronous 코드
- 28. 활성 데이터베이스없이 activejdbc 코드 단위 테스트
- 29. 단위 테스트 RESTAPI http 응답 코드
- 30. 코드 계약을 이용한 단위 테스트 방법
글쎄, 나는 autotools와 같은 방법을 생각할 수있다. 특정 코드를 컴파일하고 컴파일러가 실제로 작동하는지 확인하십시오. –
@ πάνταῥεῖ 나는 정확하게 그런 작은 스크립트를 가지고 있지만 어쨌든 그것은 나를 행복하게하지 못합니다. – Curious
당신의 관심사는 정확히 무엇입니까? 현재 접근 방식을 보여 주시겠습니까? –