주의: 이 글의 작성자는 개인 사정으로 인하여 테스트 인스턴스 블록을 실제로 사용해본 적이 없음.
업데이트 로그와 사용례만을 보고 머리로만 작성되었기에 뇌피셜이 포함됐을 수 있음.
따라서 해당 글은 테스트 인스턴스 자체가 무엇인지 알아보는 용도로만 봐주면 고맙겠음 :)
1. 테스트 인스턴스?
테스트 인스턴스 블록(Test Instance)과 테스트 블록(Test Block)은 스냅샷 25w03a에 추가된 신규 관리자 전용 블록임.
테스트 인스턴스 블록
- 테스트를 실질적으로 생성 및 진행
- 테스트 결과를 신호기 빛줄기로 보고
테스트 블록 (시작 모드)
- 테스트 시작 시 이 블록에서 레드스톤 신호가 발생
테스트 블록 (로그 모드)
- 레드스톤 신호 입력 시 설정된 메시지를 전달
테스트 블록 (실패 모드)
- 레드스톤 신호 입력 시 테스트 실패 판정
테스트 블록 (수락 모드)
- 레드스톤 신호 입력 시 테스트 성공 판정
2. 무슨 용도의 블록이냐?
이름 그대로 테스트 목적의 블록임.
그런데 이제 이것을 통해서 테스트가 어느 부분에서 문제가 발생했는지 확인하거나
확률적으로 통과되는 테스트를 동시에 여러 개 진행할 수도 있게 함.
3. 어떻게 써야 하냐?
우선 데이터팩의 영역으로 넘어가야 함.
테스트는 크게 블록 기반 테스트와 코드 기반 테스트로 고분되는데 이번 글에서는 블록 기반에 대해서만 다루겠음.
코드 기반은 진짜로 코드를 짜야 해서 여기서 설명하기에 내 자신에게서 벽을 느꼈음 :<
기존에 데팩에서 function 폴더에 함수를 추가하던 것처럼 test_instance 폴더와 test_environment 폴더에 테스트 내용과 환경을 지정할 수 있음.
둘 다 json 파일 형식을 사용함.
테스트 인스턴스는 실행할 테스트 종류를 생성함.
함수 하나를 새로 만드는 느낌이랄까?
대략적인 구조는 다음과 같음.
야매로 적었음
type은 이 테스트가 블록 기반인지 코드 기반인지를 결정함. 우리가 알아볼 것은 블록 기반이므로 block_based로 입력함.
max_ticks와 setup_ticks는 테스트 성공까지 주어지는 시간 틱과 테스트 시작 시 초기화하는 데 주어지는 시간 틱임. setup_ticks의 기본값은 0임
required는 테스트가 필수적으로 통과해야 하는 조건의 테스트인지 아닌지를 결정함. 기본값은 true임.
structure는 테스트를 위해 불러올 구조물을 결정함.
만약 회로를 불러와야 한다면 구조물 블록을 통해 미리 저장한 구조물을 가져올 수 있지.
굳이 구조물을 가져오지 않아도 테스트 생성 후 직접 배치할 수도 있음.
이제 테스트를 만들었으니 실제 인게임에서 작동을 시켜봐야겠지?
테스트를 생성하는 명령어도 같이 추가됐음.
아래 명령어를 통해 테스트를 생성할 수 있음.
/test create asdf:cool_test 가로 높이 세로
아마도 내가 맞게 알려줬다면 무언가가 생성이 되었을 거임.
구조물 블록처럼 네모난 틀을 만드는 블록이 있을 것이며 그 안에 테스트를 진행할 환경을 구축해준다.
테스트 인스턴스 블록에서 테스트를 진행해 작동시킨다.
만약 시간 내에 테스트가 성공했다면 인스턴스 블록에서 초록색 빛줄기가 나올 거임.
실패하거나 시간 내에 성공하지 못하면 빨간색이 나올 거고.
아직 추가된 지 약 1주밖에 안 되어서 아는 정보는 이 정도노.
4. 근데 이걸 써야 하냐?
없는 거보다는 낫잖음?
솔직히 블록 디자인 이쁘면 그만 아니냐
추가)
최근 이 갤러리의 자료글 일부가 봇 등을 통해 타 커뮤니티로 허가 없이 무단으로 도용당하고 있는 것이 확인되었음.
대상이 된 글들은 주로 커맨드 자료 글, 그리고 디스플레이 구자랑대회 글이었음.
일부 표현만 살짝 고쳐 해당 커뮤니티의 글로 둔갑시키고
글에 달린 댓글 또한 예외 대상은 아니었음.
앞으로 자료 글을 올릴 일이 있다면 작게나마라도 저작권 표시를 적어두어 1차적으로 보호장치를 해두면 좋을 듯 함.
혹은 글자 수를 65536자 이상으로 작성해 해당 커뮤니티에 옮겨적을 수 없게 해주길 바란다.
HTML 문법 기준이기 때문에 아래 글처럼 장난질을 해두면 가독성은 해치지 않으면서도 글자 수는 꽤 많이 길어지니 참고해보길.
> 저작권은소중합니다우리모두건강한인터넷문화를만들어갑시다 <
사실 이거 알려주려고 이 글 썼음
이게 뭐람..
(똥글이라 댓글 쓴거 아님) 글 전체를 아예 이미지로 해놓고 거따가 워터마크를 넣던가 하지
근데 저 체크랑 X표시는 쓸만할것같노..
테스트는 건드리기는 어려워도 저 블록들은 쓸만할 것 같노...
테스트는 모르겠고 블록 디자인이 이쁘노
https://m.cafe.naver.com/ca-fe/web/cafes/30834110/articles/38891?menuId=24&art=aW50ZXJuYWwtY2FmZS1hcnRpY2xlLXJlYWQtaW5DYWZlLXNlYXJjaC1saXN0.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjYWZlVHlwZSI6IkNBRkV