모듈:템플릿 테스트 케이스
Module:Template test case| 이 모듈은 다음과 같은 다른 모듈에 의존한다. |
이 모듈은 템플릿 테스트 케이스를 생성하는 템플릿을 만드는 프레임워크를 제공한다.테스트 케이스를 수동으로 만들 수 있지만, 이 모듈에서 제공하는 것과 같은 루아 기반 템플릿을 사용하면 템플릿 인수는 한 번만 입력하면 된다는 장점이 있어 테스트 케이스를 만드는 데 수반되는 노력을 줄이고 입력의 오류 가능성을 줄인다.
사용법
이 모듈은 보통 직접 호출해서는 안 된다.대신 다음 템플릿 중 하나를 사용하십시오.
매개 변수 기반 템플릿:
- 템플릿:테스트 사례 – 표준 테스트 사례의 경우
- 템플릿:테스트 사례 표 – 열에 나란히 배열된 테스트 사례용
- 템플릿:테스트 사례 행 – 테이블의 행으로 정렬된 테스트 사례의 경우
- 템플릿:접을 수 있는 테스트 사례 – 결과가 동일한 경우 기본적으로 접히는 테스트 사례
- 템플릿:인라인 테스트 사례 – 작은 호출과 작은 출력으로 라인 파손이 없는 테스트 사례
이 템플릿들 사이의 유일한 차이점은 기본 인수들이다.예를 들어, Template에서 테스트 케이스를 나란히 표시할 수 있다.지정하여 테스트 사례 행 _format=columns
Nowiki 기반 템플릿:
- 템플릿:테스트 사례 nowiki – nowiki 태그로 포장된 템플릿 코드에서 생성된 테스트 사례(복잡한 템플릿 호출 표시에 유용함)
- 템플릿:Nowiki 템플릿 데모 – 템플릿 설명서에 사용
의 형식도 사용할 수 있다.{{#invoke:template test case main parameters}}. 템플릿과 동일한 기본값을 사용함:테스트 사례. 매개 변수에 대한 설명서는 해당 페이지를 참조하십시오.
다른 Lua 모듈에는 이 모듈에 대한 직접 인터페이스가 없다.Lua 모듈은 일반적으로 다음과 같은 Lua 기반 테스트 케이스 모듈을 사용해야 한다.유닛테스트 또는 모듈:스크리펀토유닛.이 모듈을 반드시 사용해야 하는 경우 위에 나열된 템플릿 중 하나와 함께 frame:expandTemplate를 사용하십시오.
배열
이 모듈에는 다음 모듈에 구성 모듈이 있음:템플릿 테스트 케이스/구성.편집하여 새 래퍼 템플릿을 추가하거나 모듈이 출력하는 메시지를 변경할 수 있다.
추적 카테고리
--[[ 테스트 사례 템플릿을 생성하기 위한 모듈. 이 모듈에는 영어 위키백과의 "테스트케이스 테이블"에서 나온 코드가 통합되어 있다. 모듈(Module, [1] Frietjes [2]가 Stradivarius씨의 기여로 작성함 [3] Jackmcbarn, [4] 및 영어 위키백과의 "테스트케이스 행" 모듈, [5] 스트라디바리우스 씨가 쓴 "테스트케이스 테이블" 및 "테스트케이스 행" 모듈은 CC BY-SA 3.0 라이센스 [6] 및 GFDL.[7] 라이센스: CC BY-SA 3.0 및 GFDL 저자: 스트라디바리우스 씨 [1] https://en.wikipedia.org/wiki/Module:Testcase_table [2] https://en.wikipedia.org/wiki/User:Frietjes [3] https://en.wikipedia.org/wiki/User:Mr._Stradivarius [4] https://en.wikipedia.org/wiki/User:Jackmcbarn [5] https://en.wikipedia.org/wiki/Module:Testcase_rows [6] https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License [7] https://en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License ]] -- 필요한 모듈 로드 국부적 예스노 = 요구하다('모듈:예스노') -- 상수 설정 국부적 DATA_MODUL = '모듈:템플릿 테스트 케이스/데이터' ------------------------------------------------------------------------------- -- 공유 방법 ------------------------------------------------------------------------------- 국부적 기능을 하다 메세지(자아의, 핵심을, ...) -- 이 방법은 본 교육생의 메시지를 다루어야 하는 수업에 추가된다. -- config module. 국부적 음스그 = 자아의.cfg.음스그[핵심을] 만일 선발하다(1, ...) 그때 돌아오다 mw.메세지.newRawMessage(음스그, ...):평이한() 다른 돌아오다 음스그 종지부를 찍다 종지부를 찍다 ------------------------------------------------------------------------------- -- 템플릿 클래스 ------------------------------------------------------------------------------- 국부적 템플릿 = {} 템플릿.메모화된 방법 = { -- 각 개체에서 메모할 메서드의 이름.이 테이블은 오직 -- 매개 변수 없이 메서드를 보유하십시오. getFullPage = 진실의, getName = 진실의, 메이크헤더 = 진실의, getOutput = 진실의 } 기능을 하다 템플릿.새로운(호출Obj, 옵션들) 국부적 오비지 = {} -- 입력 설정 을 위해 k, v 에 쌍들(옵션들 또는 {}) 하다 만일 아닌 템플릿[k] 그때 오비지[k] = v 종지부를 찍다 종지부를 찍다 오비지._직무직 = 호출Obj -- 입력 유효성 확인. 만일 아닌 오비지.템플릿 그리고 아닌 오비지.칭호를 붙이다 그때 착오('지정된 템플릿 또는 제목 없음', 2) 종지부를 찍다 -- 값비싼 메서드 호출 메모화 국부적 메모펀치 = {} 돌아오다 설정 가능한(오비지, { __index = 기능을 하다 (t, 핵심을) 만일 템플릿.메모화된 방법[핵심을] 그때 국부적 펑크 = 메모펀치[핵심을] 만일 아닌 펑크 그때 국부적 발랄하게 하다 = 템플릿[핵심을](t) 펑크 = 기능을 하다 () 돌아오다 발랄하게 하다 종지부를 찍다 메모펀치[핵심을] = 펑크 종지부를 찍다 돌아오다 펑크 다른 돌아오다 템플릿[핵심을] 종지부를 찍다 종지부를 찍다 }) 종지부를 찍다 기능을 하다 템플릿:getFullPage() 만일 아닌 자아의.템플릿 그때 돌아오다 자아의.칭호를 붙이다.접두사의텍스트 그렇지 않으면 자아의.템플릿:후보선수(1, 7) == '#invoke' 그때 돌아오다 '모듈' .. 자아의.템플릿:후보선수(8):gsub(' .*', '') 다른 국부적 벗겨진 템플릿, 하스콜론 = 자아의.템플릿:gsub('^:', '', 1) 하스콜론 = 하스콜론 > 0 국부적 ns = 벗겨진 템플릿:짝을 맞추다('^(.-):') ns = ns 그리고 mw.사이트.네임스페이스[ns] 만일 ns 그때 돌아오다 벗겨진 템플릿 그렇지 않으면 하스콜론 그때 돌아오다 벗겨진 템플릿 -- 주 네임스페이스 다른 돌아오다 mw.사이트.네임스페이스[10].이름을 붙이다 .. ':' .. 벗겨진 템플릿 종지부를 찍다 종지부를 찍다 종지부를 찍다 기능을 하다 템플릿:getName() 만일 자아의.템플릿 그때 돌아오다 자아의.템플릿 다른 돌아오다 요구하다('모듈:템플릿 호출').이름을 붙이다(자아의.칭호를 붙이다) 종지부를 찍다 종지부를 찍다 기능을 하다 템플릿:makeLink(전시하다) 만일 전시하다 그때 돌아오다 문자열.format('[:%s %s]', 자아의:getFullPage(), 전시하다) 다른 돌아오다 문자열.format('[:%s]', 자아의:getFullPage()) 종지부를 찍다 종지부를 찍다 기능을 하다 템플릿:makeBraceLink(전시하다) 전시하다 = 전시하다 또는 자아의:getName() 국부적 연결하다 = 자아의:makeLink(전시하다) 돌아오다 mw.문자 메시지를 보내다.노위키('{{') .. 연결하다 .. mw.문자 메시지를 보내다.노위키('}}') 종지부를 찍다 기능을 하다 템플릿:메이크헤더() 돌아오다 자아의.표제 또는 자아의:makeBraceLink() 종지부를 찍다 기능을 하다 템플릿:getInvocation(형식을 갖추다) 국부적 호출 = 자아의._직무직:getInvocation{ 템플릿 = 자아의:getName(), 필요 매직 워드 = 자아의.필요 매직 워드, } 만일 형식을 갖추다 == '코드' 그때 호출 = ', <코드>." .. mw.문자 메시지를 보내다.노위키(호출) .. '[/code]' 그렇지 않으면 형식을 갖추다 == 'kbd' 그때 호출 = ''<kbd'' .. mw.문자 메시지를 보내다.노위키(호출) .. '[/kbd]' 그렇지 않으면 형식을 갖추다 == 'plain' 그때 호출 = mw.문자 메시지를 보내다.노위키(호출) 다른 -- 기본값은 사전 태그임 호출 = mw.문자 메시지를 보내다.인코딩하다(호출, '&') 호출 = '<pre style="white-space: pre-pre-pre-pre-propert .. 호출 .. '[/준비]' 호출 = mw.getCurrentFrame():전처리하다(호출) 종지부를 찍다 돌아오다 호출 종지부를 찍다 기능을 하다 템플릿:getOutput() 국부적 보호하다 = 요구하다('모듈:보호하다') - 자신을 부르는 것._invocation:getOutput{...} 돌아오다 보호하다(자아의._직무직.getOutput)(자아의._직무직, { 템플릿 = 자아의:getName(), 필요 매직 워드 = 자아의.필요 매직 워드, }) 종지부를 찍다 ------------------------------------------------------------------------------- -- TestCase 클래스 ------------------------------------------------------------------------------- 국부적 테스트케이스 = {} 테스트케이스.__index = 테스트케이스 테스트케이스.메세지 = 메세지 -- 메시지 방법 추가 테스트케이스.렌더메소드 = { -- 이 표의 키는 "형식" 옵션의 값이며, 값은 -- 형식을 렌더링하는 방법. 기둥 = '렌더콜럼스', 노를 젓다 = '렌더로우스', 태블러드 = '렌더로우스', 횡대로 = '렌더인라인', 세포들 = '렌더셀스', 체납 = 'renderDefault' } 기능을 하다 테스트케이스.새로운(호출Obj, 옵션들, cfg) 국부적 오비지 = 설정 가능한({}, 테스트케이스) 오비지.cfg = cfg -- 템플릿 옵션과 일반 옵션 구분템플릿 옵션은 -- 번호가 매겨진 반면, 일반 옵션은 그렇지 않다. 국부적 일반옵션, template옵션 = {}, {} 을 위해 k, v 에 쌍들(옵션들) 하다 국부적 접두사를 붙이다, 숫자 만일 타자를 치다(k) == '끈' 그때 접두사를 붙이다, 숫자 = k:짝을 맞추다('^(.-)([1-9][0-9]*)