エディター内でこれを行うには、自動化タブを開き、セッションに接続して、実行するテストを選択します。
コマンドラインからどうやってやるんですか?
(注: UnrealEngine/Engine/Build/BatchFiles/* をコンパイルしないことは、アプリケーションのビルドとコンパイルの両方を包括的にカバーします。具体的には、100% コンパイル可能なコードがある場合、テスト スイートをどのように開始するかということです)
--
4.10 の最近のテストから得られた詳細情報は次のとおりです。
エディターからテストを実行する:
UE4Editor Project.uproject -ExecCmds="Automation RunTests MyTest"
フラグがないことに注意してください-Game
。これにより、エディターが起動し、エディター コンソールでテストが正常に実行されます。
ゲーム エンジンを実行し、「ポップアップ ログ ウィンドウ」を使用する:
UE4Editor Project.uproject -Game -ExecCmds="Automation RunTests MyTest" -log
これにより、ゲームが「プレイ」モードで実行され、エディター ウィンドウがポップアップ表示されます。ただし、ログは次の場所で停止します。
LogAssetRegistry: FAssetRegistry took 0.0004 seconds to start up
...そしてゲームは終了せず、テストも実行されません。
ゲーム エンジンを実行してファイルにログを記録します。
UE4Editor Project.uproject -Game -ExecCmds="Automation RunTests MyTest" -log=Log.txt
これにより、ゲームが「プレイ」モードで実行され、その後停止して存在しなくなります。
テストを実行したり、ファイルにログを記録したりはしていないようです。
Saved/Logs
実行中のゲームを終了した後、フォルダーは存在しません。
エディターでの実行、テストの種類など...
ホット リロードはテストではサポートされていないため、このオプションは使用できません。
ATF_Game
また、テスト タイプ (例: 、 ) が実行の有無や実行できるかどうかに何らかの影響を与えるという示唆がさまざまな場所で出されていますATF_Editor
。おそらくこれも問題ですが、私はあらゆる種類の組み合わせを試しましたが、成功しませんでした。
--
これを機能させるために、あらゆる組み合わせを試しましたが、成功しなかったため、賞金を出すことにしました。
確実に次の回答を受け入れます:
- コマンドラインから特定のテストを実行します
- テストの出力をファイルに記録します
ベストアンサー1
そうですね、ここでも問題追跡システムでも誰も何も知りません。
UE4 のソース コードを徹底的に調べた結果、実際のところは次のようになりました。これを理解できない次の困った人のためにここに残しておきます。
コマンドラインからテストを実行するには、そして出力を記録するそしてテスト実行後に終了するには以下を使用します:
UE4Editor.exe path/to/project/TestProject.uproject
-ExecCmds="Automation RunTests SourceTests"
-unattended
-nopause
-testexit="Automation Test Queue Empty"
-log=output.txt
-game
OSXでは を使用しますUE4Editor.app/Contents/MacOS/UE4Editor
。
ログは、指定した内容に関係なく、最終的に次の場所に配置されることに注意してください。
WindowsNoEditor/TestProject/Saved/Logs/output.txt
または
~/Library/Logs/TestProject/output.txt
Macの場合は、プロジェクトディレクトリ外たとえば、 では、 です/Users/doug/Library/Logs/TestProject
。(誰がそれを良いアイデアだと思ったのでしょうか?)
(見るhttps://wiki.unrealengine.com/Locating_Project_Logs#Game_Logs)
以下を使用して自動化テストを一覧表示できます。
-ExecCmds="Automation List"
...そして、応答を解析して実行するテストを見つけます。自動化コマンドは連鎖されることがあります。例:
-ExecCmds="Automation List, Automation RunAll"