모듈:유닛 테스트/문서
ModuleUnitTests는 require를 사용하여 다른 스크립트에서 사용할 수 있는 단위 테스트 기능을 제공합니다.위키백과 참조:자세한 내용은 Lua#Unit_testing을 참조하십시오.다음은 모듈의 샘플입니다.예/테스트 사례:
모듈에 대한 장치 테스트:예]]].대화 페이지를 클릭하여 테스트를 실행합니다. 현지의 p = 요구하다('모듈:단위 테스트') 기능. p:test_hello() 자신:preprocess_message('안녕하세요 세상이여!', '안녕하세요 세상이여!') 끝. 돌아가다 p 대화 페이지 모듈 대화:예제/테스트 사례를 사용하여 실행{{#invoke: Example/testcases run_tests}}위의 test_hello와 같은 테스트 메서드는 "test"로 시작해야 합니다.
방법들
런_디버깅
run_tests모든 테스트를 실행합니다.일반적으로 단위 테스트의 토크 페이지에서 사용됩니다.
{{#선택사항:예제/테스트 사례 run_tests} - 한다면
differs_at를 지정하면 예상 결과와 실제 결과가 다른 첫 번째 문자 위치를 나타내는 열이 추가됩니다.
{{#선택사항:예제/테스트 사례 run_message_at=1}이(가) 다릅니다. {{#선택사항:예제/테스트 사례 run_discovery 하이라이트=1} - 한다면
live_sandbox를 지정하면 헤더에 "테스트", "라이브", "샌드박스", "예상됨" 열이 표시됩니다.이것은 사용할 때 필요합니다.preprocess_equals_sandbox_many방법.
preprocess_message
preprocess_equals(text, expected, options)사전 처리할 위키 텍스트와 예상 결과 값을 제공합니다.스크립트 및 템플릿은 페이지에서와 동일한 방법으로 호출할 수 있습니다.
자신:preprocess_message('{Num}:예: 안녕하세요}', 안녕, 세상아!, {노비키=1}) preprocess_message_many
preprocess_equals_many(prefix, suffix, cases, options)지정된 쌍 집합에 대해 일련의 preprocess_equals() 호출을 수행합니다.지정된 접두사와 접미사를 각 텍스트에 자동으로 추가합니다.
자신:preprocess_message_many('{Num}:예: hello_to ', '}}', { {'존', '안녕, 존!'}, {'제인, '안녕, 제인!'}, }, {노비키=1}) preprocess_process_process
preprocess_equals_preprocess(text, expected, options)사전 처리할 두 개의 위키 텍스트를 제공하고 동일한 값을 생성하는지 확인합니다.스크립트를 기존 템플릿과 비교하는 데 유용합니다.
자신:preprocess_process_process('{Num}:예: 안녕하세요}', '{{Hello}}', {노비키=1}) preprocess_message_process_many
preprocess_equals_preprocess_many(prefix1, suffix1, prefix2, suffix2, cases, options)지정된 쌍 집합에 대해 일련의 preprocess_equals_preprocess() 호출을 수행합니다.두 인수 모두에 대해 제공된 접두사/접미사가 자동으로 추가됩니다.어떤 경우에도 두 번째 부품을 지정하지 않으면 첫 번째 부품이 사용됩니다.
자신:preprocess_message_process_many('{Num}:숫자 숫자_를_english'로 변환, '}}', '{{num}', '}}', { {'2'}, {'2','2'}에 해당합니다. {'-2', '-2.0'}, }, {노비키=1}) preprocess_process_message_many
preprocess_equals_sandbox_many(module, function, cases, options)지정된 쌍 집합에 대해 일련의 preprocess_equals_compare() 호출을 수행합니다.테스트는 모듈의 라이브 버전과 /sandbox 버전을 비교하고 예상 결과를 비교합니다.live_sandbox가 지정되어 있는지 확인하거나 출력에 오류가 있을 수 있습니다.
자신:preprocess_process_message_many('{Num}:예', '안녕_to', { {'존', '안녕, 존!'}, {'제인, '안녕, 제인!'}, }, {노비키=1}) 동등한
equals(name, actual, expected, options)계산된 값과 예상 값을 제공하고 == 연산자에 따라 동일한지 확인합니다.#invoke를 사용하지 않고 다른 모듈에서 사용하도록 설계된 모듈을 테스트하는 데 유용합니다.
자신:동등한('단순 추가', 2 + 2, 4, {노비키=1}) equals_deep
equals_deep(name, actual, expected, options)동일하지만 심층 비교를 수행하여 테이블을 처리합니다.두 값 모두 순환 참조를 포함하지 않아야 합니다. 순환 참조는 현재 구현에서 처리되지 않으며 무한 루프가 발생할 수 있기 때문입니다.
자신:equals_deep('표 비교', createRange(1,3), {1,2,3}, {노비키=1}) 테스트 옵션
위에 나열된 테스트 기능의 옵션 매개 변수로 전달할 수 있는 유효한 옵션입니다.
노비키
이 옵션을 활성화하면 출력 텍스트가 다음 위치로 래핑됩니다.<nowiki>...</nowiki>텍스트가 렌더링되지 않도록 태그 지정(예: 페이지 대신 <span>[[예: 페이지]/span>)
합쳐진
이 옵션을 활성화하면 출력 텍스트가 렌더링 모드와 노위키 모드 모두에 표시되어 원시 텍스트와 시각적 비교를 모두 수행할 수 있습니다.
사원 양식
이 옵션을 활성화하면 스트립 마커의 ID가 수정됩니다. <templatestyles>...</templatestyles>잘못된 검정 실패를 방지하기 위해 처리할 때 생성됩니다.
스트립 마커
이 옵션을 활성화하면 처리 시 생성되는 모든 스트립 마커의 ID가 수정되어 테스트에 잘못 실패하지 않도록 할 수 있습니다.
과시하는
테스트의 출력 표시 방법을 변경하는 선택적 기능입니다.이는 비교 프로세스에 영향을 미치지 않습니다.
참고 항목