Hey, recently I was struggling to test my networked game logic. And I really liked how “Sea of Thieves” developers designed their own system to test. (www.youtube.com/watch?v=X673tOi8pU8)
Naturally, I tried to use Gauntlet but I’m confused! I can not find any documentation shows me how to write a testing code, actually I even didn’t understand how it actually works. I attempt to copy code of Lyra to make my own C# solution:
using EpicGame;
using Gauntlet;
namespace HarvestedTest
{
public class Bootla : EpicGameTestNode<HarvestedTestConfig>
{
public Bootla(UnrealTestContext InContext) : base(InContext)
{
}
public override HarvestedTestConfig GetConfiguration()
{
var config = base.GetConfiguration();
config.NoMCP = true;
var client = config.RequireRole(UnrealTargetRole.Client);
client.Controllers.Add("Bootla");
return config;
}
}
}
Also corresponding HarvestedTestControllerBootla.h
:
#pragma once
#include "GauntletTestControllerBootTest.h"
#include "HarvestedTestControllerBootla.generated.h"
/**
*
*/
UCLASS()
class UHarvestedTestControllerBootla : public UGauntletTestControllerBootTest
{
GENERATED_BODY()
protected:
const double TestDelay = 20.f;
virtual bool IsBootProcessComplete() const override;
};
But I think when I run this line
RunUAT.bat BuildCookRun -project=ElementalDemo -platform=Win64 -configuration=Development -build -cook -pak -stage
RunUAT RunUnreal -project=C:\Users\mek\Documents\UnrealEngine\Harvested\Harvested.uproject -platform=Win64 -configuration=Development -build=local -test=Harvestd.BootTest
it simply do not find my test. In anyway I didn’t understand anything.
- Is Gauntlet my only way for network integration tests?
- If yes, how could I setup and start use gauntlet?
- Also does it make sense to test network? It seems like very time consuming.