모듈:유닛 테스트/문서

Module

UnitTests는 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가 수정되어 테스트에 잘못 실패하지 않도록 할 수 있습니다.

과시하는

테스트의 출력 표시 방법을 변경하는 선택적 기능입니다.이는 비교 프로세스에 영향을 미치지 않습니다.

참고 항목

  • 모듈: 유닛에 대한 설명 – 대체 유닛 테스트 모듈