You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#lockdown Nick.Penwarden #rb none ============================ MAJOR FEATURES & CHANGES ============================ Change 3683933 by Jeff.Wilson Updated metadata Change 4094604 by Richard.Hinckley Fixing a bug in Match3 with incorrect attempts at unbinding a delegate. Not as much of a code problem as a bad learning example. #jira UE-59621 Change 4099126 by Sungjin.Hong #loc UE4DocKOR Change 4105127 by Sungjin.Hong removed wrong [include] Change 4105128 by Sungjin.Hong #loc UE4DocKor Change 4169203 by Sungjin.Hong #loc UE4DocKOR Change 4201118 by Mitchell.Wilson Initial check-in of 4.20 Release Notes - Major features only. Change 4201313 by Jeff.Wilson misc fixes Change 4201319 by Mitchell.Wilson Adding 4.20 minor release notes. Change 4201528 by Jeff.Wilson misc fixes Change 4216361 by Sungjin.Hong #loc UE4DocKOR moved or deleted Change 4216416 by Sungjin.Hong #loc UE4DocKOR Change 4216563 by Sungjin.Hong #loc UE4DocKOR Change 4217772 by Mitchell.Wilson Adding some missing minor release notes in the Slate and UMG sections. Change 4218292 by Mitchell.Wilson Commenting out Shotgun documentation link and adding a "coming soon" blurb Change 4219358 by Tianmin.Xie #loc UE4DocCHN moved or deleted Change 4219564 by Sungjin.Hong #loc UE4DocKOR Change 4220008 by Jeff.Wilson Reordered top features; updated language for Niagara Change 4220814 by Mitchell.Wilson Updating Niagara landing page and adding new image. Change 4220945 by Mitchell.Wilson Updating page with note pointing to digital humans page and added related page link for digital humans Change 4221079 by Mitchell.Wilson Submitting page and images for Working With Tracks In Sequencer. Change 4221223 by Mitchell.Wilson Checking in updates to Sequence Recorder page and new images. Change 4222174 by Yang.Zhang #loc UE4DocCHN check in 420 Release Note againest INT verison 4218292 (need update againest for latest release note) Change 4222188 by Sungjin.Hong #loc UE4DocKOR moved or deleted Change 4222189 by Yang.Zhang #loc UE4DocCHN 420 Release Note Update against INT 4220008 Change 4222217 by Tianmin.Xie #loc UE4DocCHN moved or deleted Change 4222310 by Yang.Zhang #loc UE4DocCHN 420 Release Note Typo Fixing against INT 4220008 Change 4222335 by Yang.Zhang #loc UE4DocCHN TwinblastBust Update against INT 4220945 Change 4222348 by Yang.Zhang #loc UE4DocCHN SequenceRecorder Update against INT 3866572 Change 4222355 by Yang.Zhang #loc UE4DocCHN SequenceRecorder Update against INT 3244012 Change 4222371 by Yang.Zhang #loc UE4DocCHN Change 4222713 by Sungjin.Hong #loc UE4DocKOR Change 4223218 by Mitchell.Wilson Adding Controlling Anim Instances with Sequencer page and images Change 4223330 by Mitchell.Wilson Minor update to formatting. Change 4223439 by Mitchell.Wilson Submitting new TimeRefactorNotes page and images Change 4224395 by Sungjin.Hong #loc UE4DocKOR moved or deleted Change 4224481 by Yang.Zhang #loc UE4DocCHN 419 Release Note Update against INT 3941748 Change 4224497 by Yang.Zhang #loc UE4DocCHN moved or deleted Change 4228591 by Yang.Zhang #loc UE4DocCHN Localization Edit Against 4221079 Change 4228596 by Yang.Zhang #loc UE4DocCHN Change 4228598 by Yang.Zhang #loc UE4DocCHN Localization Bug Fixing Change 4228600 by Yang.Zhang #loc UE4DocCHN Localization Edit Change 4233224 by Yang.Zhang #loc UE4DocCHN Localization Bug Fixing Change 4233437 by Sungjin.Hong #loc UE4DocKOR Change 4233440 by Sungjin.Hong #loc UE4DocKOR Change 4240164 by Sungjin.Hong #loc UE4DocKOR Change 4242799 by Yang.Zhang #loc UE4DocCHN Localization Editor Change 4243822 by Sam.Deiter Manually moveing these files over from the 4.20 release branch. Change 4257108 by Ben.Zeigler Switch ActionRPG to use IWYU headers Change 4257489 by Sungjin.Hong #loc UE4DocKor Change 4258770 by Mitchell.Wilson Updating filters page and images with 4.20 changes Change 4258956 by Mitchell.Wilson Updating Color Picker doc and images for 4.20 Change 4261325 by Sungjin.Hong #loc UE4DocKOR Change 4261534 by Mitchell.Wilson Updating mobilepreviewer doc for 4.20 changes. Change 4263566 by Robert.Gervais Replacing images to address doc-md tool erros. #UE4Doc #fyi Jeff.Wilson, Mitchell.Wilson Change 4264102 by Yang.Zhang #loc UE4DocCHN Localization Edit Change 4264104 by Yang.Zhang #loc UE4DocCHN Localization Edit Change 4264120 by Yang.Zhang #loc UE4DocCHN Localization Bug Fixing Change 4264799 by paulo.souza Fix ActionRPG main menu logo "action" and "sample" labels were misplaced #fyi sam.deiter #rb none Change 4267571 by Sungjin.Hong #loc UE4DocKOR Change 4268090 by Sungjin.Hong #loc UE4DocKOR Change 4272340 by Mitchell.Wilson Adding all MR pages for 4.20 Change 4273092 by Mitchell.Wilson Updating Mesh Details page for 4.20 Change 4276731 by Mitchell.Wilson Checking in nDisplay doc. Change 4276770 by Jeff.Wilson Updated formatting Change 4276798 by Jeff.Wilson Minor formatting update Change 4276998 by Mitchell.Wilson Checking in nDisplay changes for 4.20 Change 4278693 by Sungjin.Hong #loc UE4DocKOR moved or deleted Change 4279407 by Mitchell.Wilson Adding ScriptingAndAutomation folder and content Change 4279418 by Mitchell.Wilson Updating crumbs Change 4279440 by Mitchell.Wilson Adding INT to file. Change 4280273 by paulo.souza ARPG - Player AI can now use Potions and Skills when possible/necessary Change 4280342 by Mitchell.Wilson Adding blueprint/python switchable content. Change 4282437 by Yang.Zhang #loc UE4DocCHN moved or deleted Change 4282603 by Yang.Zhang Outsourcing 20180814 Change4282681by Yang.Zhang #loc UE4DocCHN English Update Change 4282721 by Yang.Zhang #loc UE4DocCHN Localization Editor 20180807 Change 4282938 by Sungjin.Hong #loc UE4DocKOR Change 4283510 by paulo.souza ARPG - Initial support for consumable items (health and mana potions) Change 4283679 by Mitchell.Wilson Submitting updates to some ScriptingAndAutomation pages and adding HowTos sections. Change 4283941 by Mitchell.Wilson Submitting new page and content Change 4284256 by Mitchell.Wilson Minor updates to fix topic lists Change 4284421 by Mitchell.Wilson Checking in python page and content Change 4284468 by Mitchell.Wilson Minor updates. Change 4284888 by Mitchell.Wilson Adding new page and content Change 4285161 by Mitchell.Wilson Adding new page and content Change 4285387 by Jeff.Wilson minor styling updates Change 4287470 by Mitchell.Wilson Adding new page and content Change 4291477 by Sungjin.Hong #loc UE4DocKOR moved or deleted Change 4291478 by Sungjin.Hong #loc UE4DocKOR Change 4291995 by Sungjin.Hong #loc UE4DocKOR Change 4292193 by Mitchell.Wilson Updating page and content Change 4292827 by Mitchell.Wilson adding digital humans page and content Change 4293098 by Mitchell.Wilson Updating CascadeToNiagara and adding some content Change 4295473 by Sungjin.Hong #loc UE4DocKOR moved or deleted Change 4295612 by Sungjin.Hong #loc UE4DocKOR Change 4295997 by Sungjin.Hong #loc UE4DocKOR Change 4296011 by Sungjin.Hong #loc UE4DocKOR Change 4296954 by Mitchell.Wilson Fixing LODs on one mesh to resolve flicker. Rebuilt lighting #jira UE-58995 Change 4297342 by Mitchell.Wilson Updating copyright text in Match3 credits #jira UE-61819 Change 4298354 by Mitchell.Wilson Updating Photorealistic Character Bust eye material to be consistent with Content Examples setup. #jira UE-59761 Change 4299738 by Yang.Zhang #loc UE4DocCHN moved or deleted Change 4299936 by Sungjin.Hong #loc UE4DocKOR Change 4300185 by Mitchell.Wilson Updating page to 4.20 Change 4300194 by Mitchell.Wilson Updating page and one image Change 4300247 by Jeff.Wilson Fixed publishing errors Change 4300533 by Jeff.Wilson Updates for publishing Change 4300884 by Mitchell.Wilson Updating page and content Change 4301216 by Mitchell.Wilson Updating page and content Change 4301268 by Mitchell.Wilson Updating page and content Change 4301301 by Mitchell.Wilson Updating page and content Change4302195by Mitchell.Wilson Updating page and adding content Change 4303253 by Yang.Zhang #loc UE4DocCHN Localization Edit 20180414 Change 4303325 by Sungjin.Hong #loc UE4DocKOR Change 4303706 by Sungjin.Hong #loc UE4DocKOR Change 4305335 by Mitchell.Wilson Fixing errors on pages in prep for publish Change 4305416 by Mitchell.Wilson Removing Graph Panel section to resolve errors since it was already commented out. Change4305436by Mitchell.Wilson Removing graph panel from commented section to resolve errors Change 4305504 by Mitchell.Wilson Fixing up an image to resolve errors Change 4305576 by Mitchell.Wilson Updated graph panel link to new location. Change 4305778 by Mitchell.Wilson Fixing broken comment Change 4306900 by Sungjin.Hong #loc UE4DocKOR Change 4307010 by Mitchell.Wilson Updating this page to resolve issues on another Change 4307038 by Mitchell.Wilson Removing missing image references, but leaving the descriptions if they ever need to be added back. images are commented out. Change 4307067 by Mitchell.Wilson Removing outdated note to resolve errors. Change 4307073 by Mitchell.Wilson Removing old link that was commented out to resolve errors Change 4307105 by Mitchell.Wilson Removing old image that is no longer used in the new CMS Change 4307127 by Mitchell.Wilson Fixing up comment and removing section that is not used to resolve errors Change 4307254 by Mitchell.Wilson Removing some old URL references that were already commented out to resolve errors. Change 4307277 by Mitchell.Wilson Fixing up incorrect link to resolve errors Change 4307289 by Mitchell.Wilson Fixing up incorrect URL to resovle errors Change 4307291 by Mitchell.Wilson Updating URL for a page that was moved. Change 4307670 by Mitchell.Wilson Fixing up multiple issues to resolve errors Change 4308120 by Mitchell.Wilson Fixing up comments to resolve errors Change 4308165 by Mitchell.Wilson Removing old commented section to resolve errors Change 4308189 by Mitchell.Wilson Removing commented out related pages section to resolve errors. Change4308942by Mitchell.Wilson Removing topic image link to resolve error Change 4309000 by Mitchell.Wilson Fixing up some typos in images to resolve errors Change 4309042 by Mitchell.Wilson Fixing up old URL to resolve errors Change4309060by Mitchell.Wilson Updating URLs to resolve crashing Change 4309073 by Mitchell.Wilson Updating URLs to resolve crash Change 4309085 by Mitchell.Wilson Removing old URL located in a comment to resolve error Change 4309106 by Mitchell.Wilson Updating related pages to resolve errors Change 4309130 by Mitchell.Wilson Fixing topic image to resolve error Change 4309167 by Mitchell.Wilson Remove include to resolve errors Change 4309172 by Mitchell.Wilson Removing include to resolve errors Change 4309183 by Mitchell.Wilson Fixing up table to resolve error Change 4309189 by Mitchell.Wilson Removing old image to resolve errors Change 4310574 by Sungjin.Hong #loc UE4DocKOR Change 4310769 by Sungjin.Hong #loc UE4DocKOR Change 4311446 by Mitchell.Wilson Adding missing image file Change 4312754 by Jeff.Wilson Added new DoF pages and updates Change 4313881 by Sungjin.Hong #loc UE4DocKOR moved or deleted Change 4313999 by Yang.Zhang #loc UE4DocCHN moved or deleted Change 4314037 by Sungjin.Hong corrected some links, tags, and spaces Change 4314071 by Sungjin.Hong #loc UE4DocKOR Change 4314302 by Sungjin.Hong #loc UE4DocKOR Change 4314504 by Mitchell.Wilson Adding missing tutorial image and updating tutorial. #jira UEDOC-7229 Change 4317861 by Sungjin.Hong #loc ?????? -> ?????? Change 4320148 by Mitchell.Wilson Removing comments on topics Change 4320159 by Jeff.Wilson Fixed async gifs Change 4320499 by Mitchell.Wilson Checking in topic images Change 4321330 by Sungjin.Hong #loc UE4DocKOR Change 4321337 by Yang.Zhang Outsourcing 20180821 Change 4321362 by Yang.Zhang #loc UE4DocCHN Localization Bug Fixing 2080828 [CL 4322126 by Mitchell Wilson in Main branch]
70 lines
9.1 KiB
Plaintext
70 lines
9.1 KiB
Plaintext
INTSourceChangelist:3682799
|
|
Availability: Docs
|
|
Title: 펑셔널 테스트
|
|
Crumbs: %ROOT%
|
|
Description: 펑셔널 테스팅 프레임워크입니다.
|
|
type:overview
|
|
skilllevel:Intermediate
|
|
Version: 4.17
|
|
parent:Programming/Automation
|
|
order:
|
|
tags:Automation
|
|
tags:Testing
|
|
|
|
[TOC (start:2 end:3)]
|
|
|
|
|
|
## 테스트 생성
|
|
|
|
테스트 설정은 레벨에 [**Functional Test**](API:AFunctionalTest) (펑셔널 테스트) 액터를 배치하면 됩니다. 그런 다음 그 액터에 [레벨 블루프린트](Engine/Blueprints/UserGuide/Types/LevelBlueprint/) 의 **레벨 스크립트** 로 테스트 세트를 실행하는 스크립트를 작성합니다. 테스트 자체는 펑셔널 테스트 액터 안에 (자손 블루프린트 클래스 또는 블루프린트로) 만들어 넣거나 레벨 스크립트에서 직접 조립할 수 있습니다.
|
|
|
|

|
|
[REGION:caption]자리표시자 펑셔널 테스트를 실행하는 레벨 블루프린트.[/REGION]
|
|
|
|
### 펑셔널 테스트 클래스 피처
|
|
|
|
Functional Test (펑셔널 테스트) 클래스가 제공하는 중요 함수는 다음과 같습니다.
|
|
|
|
| 함수 이름 | 설명 |
|
|
| --- | --- |
|
|
| `PrepareTest` | 코드 또는 블루프린트 자손 클래스에서 오버라이드할 수 있습니다. 이 함수는 `OnTestPrepare` 델리게이트와 함께 처음 실행되며, 오버라이드를 통해 테스트에 필요한 초기 설정을 할 수 있습니다. 이 설정에 여러 프레임이 필요한 경우, 예를 들면 스트리밍 데이터를 레벨에 로드하거나, 경로 데이터를 빌드하거나, 서버에 접속하거나 하는 경우, 이 함수로 그 프로세스를 시작해야 합니다. |
|
|
| `IsReady` | `PrepareTest` 첫 호출 이후 `OnTestStart` 를 실행할 때까지 매 틱마다 호출되는 함수입니다. 기본적으로 이 함수는 `true` 를 반환하며, `OnTestStarted` 를 즉시 호출할 수 있도록 허용합니다. `PrepareTest` 로 설정한 초기화 프로세스가 불완전하다면, 이 함수는 `false` 를 반환하여 메인 테스트 코드가 미숙한 상태로 시작하는 것을 막아야 합니다. |
|
|
| `OnTestStart` | 이 델리게이트는 **Functional Testing Manager** (펑셔널 테스팅 매니저)가 테스트를 시작할 때 호출됩니다. 테스트 함수 기능에 바인딩하고 마지막에 `FinishTest` 호출하면 됩니다. |
|
|
| `OnTestFinished` | 테스트가 끝나면 이 델리게이트가 호출됩니다. 테스트는 종종 후속 테스트에 영향을 주는 방식으로 레벨 내 액터나 레벨에 영향을 주므로, 이 기회에 정리(clean up)하는 것이 사용 가능한 테스팅 환경을 유지하는 데 매우 중요합니다. |
|
|
|
|
Functional Test 클래스는 다음과 같은 기능도 지원합니다.
|
|
|
|
| 함수 또는 프로퍼티 이름 | 설명 |
|
|
| --- | --- |
|
|
| `OnAdditionalTestFinishedMessageRequest` | `OnAdditionalTestFinishedMessageRequest` 를 구현하면 테스트 요약 로그에 정보를 추가하는 방법으로 유용합니다. |
|
|
| `RegisterAutoDestroyActor` | 이 함수에 전달한 액터는 테스트가 끝나면 자동 소멸됩니다. 테스트의 일부로 스폰된 액터를 정리하는 좋은 방법입니다. |
|
|
| `LogMessage` | **출력 로그** 의 `LogFunctionalTest` 카테고리에 제공한 텍스트를 출력하는 함수입니다. 원래 의도는 테스트 실행 동안 진행 상황을 기록하기 위해서입니다. |
|
|
| Observation Point | 액터를 이 프로퍼티에 할당하면, 테스트 시작 시 이 위치로 플레이어를 이동하고 회전합니다. |
|
|
| Enabled | 이 변수를 `false` 로 설정하면 테스트를 비활성화합니다. |
|
|
|
|
### 레벨 스크립트를 통한 테스트
|
|
|
|
레벨 스크립트에서 펑셔널 테스트를 실행하려면, 먼저 레벨에 Functional Test (펑셔널 테스트) 액터를 배치합니다. 펑셔널 테스트를 선택한 채 레벨 스크립트를 열고 `OnTestStart` 델리게리트와 펑셔널 테스트로의 레퍼런스를 배치합니다. 펑셔널 테스트의 핀을 끌어 놓아 `FinishTest` 노드를 하나 이상 만들 수 있습니다. 이 시점에서 테스트를 빌드하여 `OnTestStart` 델리게이트가 `FinishTest` 노드(들)에 연결되도록 합니다. 정리가 필요한 작업을 하는 테스트의 경우 `OnTestFinished` 함수도 생성해야 할 수 있습니다. 이 설정이 끝나면 Automation System (자동화 시스템)에서 이 테스트를 올바르게 실행할 수 있습니다. 이 방법은 간단한 테스트, 일반적으로 설정이 거의 필요 없는 테스트에 적합하며, 여러 번 또는 여러 레벨에서 실행하지 않아도 됩니다.
|
|
|
|
[REGION:tip]레벨 스크립트에 (펑셔널 테스트 액터와 같은) 액터로의 레퍼런스 또는 이벤트를 추가하려면, 그 액터를 **레벨 에디터** 또는 **월드 아웃라이너** 에서 선택한 상태여야 합니다.[/REGION]
|
|
|
|
### 자손 클래스 메서드를 통한 테스트
|
|
|
|
펑셔널 테스트에 보다 복잡한 설정이 필요하거나 (단일 레벨에서, 아니면 여러 레벨에서) 여러 번 실행해야 하는 경우, `AFunctionalTest` 오버라이드를 권장합니다. 코드나 블루프린트에서 기본 Functional Test 클래스를 확장하면 `PrepareTest` 및 `IsReady` 함수를 사용할 수 있는데, 복잡 또는 내부 종속성이 있는 테스트나 설정 시간이 여러 프레임인 테스트를 실행할 때 중요합니다. 레벨 스크립트를 통한 이러한 테스트의 구현은 이전과 동일하지만 테스트 스크립트의 대다수가 레벨 스크립트가 아닌 새로운 기능 테스트 클래스 자체에 포함될 수 있으므로 여러 레벨에서 한 번, 또는 같은 레벨에서 여러 번 쉽게 테스트할 수 있습니다.
|
|
|
|
## 예상 테스트 결과 생성 및 사용
|
|
|
|
어떤 테스트 결과는 크고 복잡하고 정교하거나 수동 작성한 솔루션에 적합하지 않을 수 있습니다. 이와 같은 경우 일반적으로 단일 테스트를 실행하고, 결과가 올바른지 개인적으로 확인한 다음, 결과를 저장하여 향후 테스트 결과와 비교할 수 있습니다. 이는 **Functional Testing Editor** (펑셔널 테스팅 에디터) 플러그인에 **Ground Truth Data** (실측 기반 데이터)라는 개념으로 구현되었습니다.
|
|
|
|

|
|
[REGION:caption]펑셔널 테스트 에디터 플러그인을 활성화해야 실측 기반 데이터를 사용할 수 있습니다.[/REGION]
|
|
|
|
`UGroundTruthData` 클래스에 구현된 **실측 기반 데이터** 개념은 결과를 저장하고 비교하는 데 사용됩니다. 실측 기반 데이터 오브젝트는 선택한 오브젝트를 앞으로 하려는 테스트의 "올바른" 결과로 저장합니다. 그리고 이 오브젝트를 라이브 시뮬레이션에서 해당 오브젝트와 원하는 방식으로 비교할 수 있습니다. 그런 다음 로직으로 테스트 통과 또는 실패 여부를 결정할 수 있습니다. 예를 들어, 골프 게임처럼 정교하고 신뢰할 수 있는 물리 시뮬레이션이 필요한 경우, 시뮬레이션 플레이어가 홀인원을 치는 테스트가 있을 수 있습니다. 실측 기반 데이터에 골프 공을 오브젝트로 포함하고, 라이브 시뮬레이션의 골프 공 위치를 기존에 저장한 (즉 구멍에 들어간) 위치와 비교하여, 오차를 아주 조금만 허용하면 실패 없이 테스트할 수 있습니다. 이런 테스트는 다음과 같이 설계할 수 있습니다.
|
|
|
|
* 특정 위치와 초기 속도로 "테스트" 골프 공을 스폰합니다. 일정한 여행 시간을 줍니다. 이 시점에서 골프 공은 이상적인 위치에 있을 것입니다. 이제 이 테스트의 실측 기반 데이터에서 골프 공의 "올바른" 위치 로드를 시도할 수 있습니다.
|
|
* 실측 기반 데이터가 허용되는 오브젝트를 반환하지 않는 (예를 들어 반환된 오브젝트가 null 또는 잘못된 클래스인) 경우, 생성한 테스트 골프 공을 실측 기반 데이터에 예상 결과로 저장합니다. 골프 공이 있어야 할 곳에 착지하지 못한 경우, 실측 기반 데이터는 블루프린트에서 그 `ResetGroundTruth` 변수를 `false` 설정하여 언제든 수동 리셋할 수 있습니다. [REGION:note]블루프린트 에디터에서 `ResetGroundTruth` 박스를 체크하면 바로 체크가 해제되지만 데이터는 리셋됩니다.[/REGION]
|
|
* 실측 기반 데이터가 원하는 클래스로 변환할 수 있는 오브젝트를 반환한 경우 (이 예에서는 Actor 면 충분), 그 오브젝트와 테스트 골프 공을 비교하여 테스트 통과 여부를 평가할 수 있습니다.
|
|

|
|
[REGION:caption]이 테스트는 이동 시간이 4 초인 "테스트 골프 공"의 일관된 위치를 확인합니다.[/REGION]
|
|
[REGION:tip]이런 식으로 설정한 테스트는 같은 스크립트로 테스트를 실행하고 예상 테스트 결과를 설정할 수 있습니다. 예상 테스트 결과는 에디터에서 실측 기반 데이터를 편집하여 리셋시킬 수 있습니다.[/REGION]
|