산업기술
이 기사에서는 catch2
를 사용하는 방법을 설명합니다. 단위 테스트를 수행합니다.
소스를 빌드하려면 https://github.com/catchorg/Catch2/tags에서 릴리스를 다운로드해야 합니다. 이제 gcc로 소스를 컴파일할 수 있습니다. 다음 코드 스니펫은 cmake script
를 표시합니다. 컴파일합니다.
#Please set the environment variables to your needs
cmake \
-G "Unix Malkefiles" \
-D CMAKE_BUILD_TYPE=Release \
-D BUILD_TESTING=OFF \
-D BUILD_SHARED_LIBS=ON \
-D "CMAKE_STAGING_PREFIX=${CMAKE_STAGING_PREFIX}" \
-D "CMAKE_INSTALL_PREFIX=${CMAKE_STAGING_PREFIX}" \
-D BUILD_TESTS=OFF \
-S "${SOURCE_DIRECTORY}" \
-B "${BUILD_DIRECTORY}"
cmake --build "${BUILD_DIRECTORY}" --target install
권장 프로젝트 구조:
|-- project
|----CMakeLists-txt
|----test
|------cmake
|--------Catch.cmake
|--------CatchAddTests.cmake
|--------FindCatch2.cmake
|--------ParseAndAddCatchTests.cmake
|------Main.cpp
|------ExampleTest1.cpp
|------ExampleTest2.cpp
|------CMakeLists.txt
CMakeLists.txt
의 설정 프로젝트
include(CTest)
target_compile_definitions(${TARGET} PRIVATE
TEST_DATA_PATH="${PROJECT_SOURCE_DIR}/data")
//set environment variable to ON if you want to enable testing
if (BUILD_TESTING)
enable_testing()
add_subdirectory(test)
endif()
CMakeLists.txt
의 설정 테스트 디렉토리.
cmake_minimum_required(VERSION 3.13)
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/test/cmake")
set (WILDCARD_SOURCE *.cpp)
file(GLOB_RECURSE TEST_SOURCES ${WILDCARD_SOURCE})
add_executable(${TARGET_TEST} ${TEST_SOURCES})
find_package(Catch2 REQUIRED)
# Link to the desired libraries
target_link_libraries(${TARGET_TEST}
PRIVATE
Catch2::Catch2
...
)
target_compile_definitions(DcmlParserTest PRIVATE
TEST_DATA_PATH="${PROJECT_SOURCE_DIR}/data")
include(ParseAndAddCatchTests)
ParseAndAddCatchTests(${TARGET_TEST})
메인.cpp
#define CATCH_CONFIG_MAIN
#include <catch2/catch.hpp>
ExampleTest.cpp
이 예는 SCENARIOS
로 테스트하는 방법을 보여줍니다. .
#include <catch2/catch.hpp>
#ifndef DATA_PATH
#define DATA_PATH "/tmp/data"
#endif
SCENARIO("testcase", "")
{
GIVEN("usercase 1")
{
WHEN("instance is created")
{
THEN("test properties")
{
//check if true
REQUIRE(...);
/check if no exception
REQUIRE_NOTHROW(...);
}
}
}
}
ExampleTest2.cpp
이 예는 TEST_CASE
로 테스트하는 방법을 보여줍니다. .
#include <catch2/catch.hpp>
#ifndef DATA_PATH
#define DATA_PATH "/tmp/data"
#endif
TEST_CASE( "TestCase1", "" ) {
REQUIRE( 1 == 1 );
}
TEST_CASE( "Testcase2", "" ) {
REQUIRE( 3 != 1 );
}
catch2
을 사용하려면 테스트 프레임워크로 ARP 콘텐츠를 제외해야 합니다. 로컬 gcc 컴파일러로 코드를 컴파일해야 합니다. 이 설정을 사용하면 비 ARP 코드를 로컬에서 테스트할 수 있습니다.
catch2
에 대한 자세한 정보를 얻으려면 다음 링크를 확인할 수 있습니다.
라이브러리는 Boost Software License 1.0에 따라 게시됩니다.
산업기술
초음파 검사란 무엇입니까? 초음파 검사는 음파를 사용하여 재료의 기계적 특성을 평가하는 비파괴 검사의 한 형태입니다. 초음파라는 용어는 종종 이러한 기술군을 설명하는 데 사용되지만 초음파 테스트라고 하는 것이 더 정확합니다. 초음파 테스트는 테스트 중인 재료를 특성화하고 재료 내의 결함을 감지하는 데 사용됩니다. 재료의 두께를 결정하고 균열과 같은 내부 결함을 측정하기 위한 비파괴 검사(NDT) 기법으로 사용할 수 있습니다. 초음파 검사는 자기 공명(MR), 적외선(IR) 및 X선 검사와 같은 다른 NDT 기술과 함께 사용할
전체 전자 제조 프로세스의 생산성을 개선하고 싶으십니까? 전자 제품 테스트는 많은 회사에서 병목 현상입니다. 테스트는 제품 품질을 보장하기 위한 중요한 단계이지만 시간이 많이 걸립니다. 부가가치가 없는 작업이므로 개선하기 어려울 수 있습니다. 효율적인 테스트를 달성하는 것은 많은 전자 제품 제조업체의 과제입니다. 몇 년 전 EETimes가 보고한 바와 같이 검증 병목 현상이 해결되지 않으면 미래의 전자 시스템 비용은 치솟을 것입니다. 이 기사에서는 SoC(System-on-Chip) 검증에 대해 구체적으로 언급했지만 이 병