Integration tests improvements:
1. Added dummy game ticker for future tests to reduce startup time of test. (no loading a map) 2. Re-organized tests a bit.
This commit is contained in:
@@ -1,9 +1,13 @@
|
||||
using Content.Client;
|
||||
using Content.Client.Interfaces.Parallax;
|
||||
using Content.Server;
|
||||
using Content.Server.GameTicking;
|
||||
using Content.Server.Interfaces.GameTicking;
|
||||
using Robust.Shared.ContentPack;
|
||||
using Robust.Shared.Interfaces.Configuration;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.UnitTesting;
|
||||
using EntryPoint = Content.Client.EntryPoint;
|
||||
|
||||
namespace Content.IntegrationTests
|
||||
{
|
||||
@@ -11,7 +15,7 @@ namespace Content.IntegrationTests
|
||||
{
|
||||
protected override ClientIntegrationInstance StartClient(ClientIntegrationOptions options = null)
|
||||
{
|
||||
options = options ?? new ClientIntegrationOptions();
|
||||
options ??= new ClientIntegrationOptions();
|
||||
// ReSharper disable once RedundantNameQualifier
|
||||
options.ClientContentAssembly = typeof(EntryPoint).Assembly;
|
||||
options.SharedContentAssembly = typeof(Shared.EntryPoint).Assembly;
|
||||
@@ -33,10 +37,27 @@ namespace Content.IntegrationTests
|
||||
|
||||
protected override ServerIntegrationInstance StartServer(ServerIntegrationOptions options = null)
|
||||
{
|
||||
options = options ?? new ServerIntegrationOptions();
|
||||
options ??= new ServerIntegrationOptions();
|
||||
options.ServerContentAssembly = typeof(Server.EntryPoint).Assembly;
|
||||
options.SharedContentAssembly = typeof(Shared.EntryPoint).Assembly;
|
||||
return base.StartServer(options);
|
||||
}
|
||||
|
||||
protected ServerIntegrationInstance StartServerDummyTicker(ServerIntegrationOptions options = null)
|
||||
{
|
||||
options ??= new ServerIntegrationOptions();
|
||||
options.BeforeStart += () =>
|
||||
{
|
||||
IoCManager.Resolve<IModLoader>().SetModuleBaseCallbacks(new ServerModuleTestingCallbacks
|
||||
{
|
||||
ServerBeforeIoC = () =>
|
||||
{
|
||||
IoCManager.Register<IGameTicker, DummyGameTicker>(true);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
return StartServer(options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
67
Content.IntegrationTests/DummyGameTicker.cs
Normal file
67
Content.IntegrationTests/DummyGameTicker.cs
Normal file
@@ -0,0 +1,67 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Content.Server.GameTicking;
|
||||
using Content.Server.Interfaces.GameTicking;
|
||||
using Content.Shared;
|
||||
using Robust.Server.Interfaces.Player;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Content.IntegrationTests
|
||||
{
|
||||
public class DummyGameTicker : SharedGameTicker, IGameTicker
|
||||
{
|
||||
public GameRunLevel RunLevel { get; } = GameRunLevel.InRound;
|
||||
public event Action<GameRunLevelChangedEventArgs> OnRunLevelChanged;
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
}
|
||||
|
||||
public void Update(FrameEventArgs frameEventArgs)
|
||||
{
|
||||
}
|
||||
|
||||
public void RestartRound()
|
||||
{
|
||||
}
|
||||
|
||||
public void StartRound()
|
||||
{
|
||||
}
|
||||
|
||||
public void EndRound()
|
||||
{
|
||||
}
|
||||
|
||||
public void Respawn(IPlayerSession targetPlayer)
|
||||
{
|
||||
}
|
||||
|
||||
public void MakeObserve(IPlayerSession player)
|
||||
{
|
||||
}
|
||||
|
||||
public void MakeJoinGame(IPlayerSession player)
|
||||
{
|
||||
}
|
||||
|
||||
public void ToggleReady(IPlayerSession player, bool ready)
|
||||
{
|
||||
}
|
||||
|
||||
public T AddGameRule<T>() where T : GameRule, new()
|
||||
{
|
||||
return new T();
|
||||
}
|
||||
|
||||
public void RemoveGameRule(GameRule rule)
|
||||
{
|
||||
}
|
||||
|
||||
public IEnumerable<GameRule> ActiveGameRules { get; } = Array.Empty<GameRule>();
|
||||
|
||||
public void SetStartPreset(Type type)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,7 @@ using Robust.Shared.Interfaces.GameObjects;
|
||||
using Robust.Shared.Interfaces.Network;
|
||||
using Robust.Shared.IoC;
|
||||
|
||||
namespace Content.IntegrationTests
|
||||
namespace Content.IntegrationTests.Tests
|
||||
{
|
||||
[TestFixture]
|
||||
public class ConnectTest : ContentIntegrationTest
|
||||
@@ -8,7 +8,7 @@ using Robust.Shared.Interfaces.Resources;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.IntegrationTests
|
||||
namespace Content.IntegrationTests.Tests
|
||||
{
|
||||
/// <summary>
|
||||
/// Tests that the
|
||||
@@ -2,7 +2,7 @@ using System.Threading.Tasks;
|
||||
using NUnit.Framework;
|
||||
using Robust.Shared.Exceptions;
|
||||
|
||||
namespace Content.IntegrationTests
|
||||
namespace Content.IntegrationTests.Tests
|
||||
{
|
||||
[TestFixture]
|
||||
public class StartTest : ContentIntegrationTest
|
||||
Reference in New Issue
Block a user