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;
|
||||||
using Content.Client.Interfaces.Parallax;
|
using Content.Client.Interfaces.Parallax;
|
||||||
|
using Content.Server;
|
||||||
|
using Content.Server.GameTicking;
|
||||||
|
using Content.Server.Interfaces.GameTicking;
|
||||||
using Robust.Shared.ContentPack;
|
using Robust.Shared.ContentPack;
|
||||||
using Robust.Shared.Interfaces.Configuration;
|
using Robust.Shared.Interfaces.Configuration;
|
||||||
using Robust.Shared.IoC;
|
using Robust.Shared.IoC;
|
||||||
using Robust.UnitTesting;
|
using Robust.UnitTesting;
|
||||||
|
using EntryPoint = Content.Client.EntryPoint;
|
||||||
|
|
||||||
namespace Content.IntegrationTests
|
namespace Content.IntegrationTests
|
||||||
{
|
{
|
||||||
@@ -11,7 +15,7 @@ namespace Content.IntegrationTests
|
|||||||
{
|
{
|
||||||
protected override ClientIntegrationInstance StartClient(ClientIntegrationOptions options = null)
|
protected override ClientIntegrationInstance StartClient(ClientIntegrationOptions options = null)
|
||||||
{
|
{
|
||||||
options = options ?? new ClientIntegrationOptions();
|
options ??= new ClientIntegrationOptions();
|
||||||
// ReSharper disable once RedundantNameQualifier
|
// ReSharper disable once RedundantNameQualifier
|
||||||
options.ClientContentAssembly = typeof(EntryPoint).Assembly;
|
options.ClientContentAssembly = typeof(EntryPoint).Assembly;
|
||||||
options.SharedContentAssembly = typeof(Shared.EntryPoint).Assembly;
|
options.SharedContentAssembly = typeof(Shared.EntryPoint).Assembly;
|
||||||
@@ -33,10 +37,27 @@ namespace Content.IntegrationTests
|
|||||||
|
|
||||||
protected override ServerIntegrationInstance StartServer(ServerIntegrationOptions options = null)
|
protected override ServerIntegrationInstance StartServer(ServerIntegrationOptions options = null)
|
||||||
{
|
{
|
||||||
options = options ?? new ServerIntegrationOptions();
|
options ??= new ServerIntegrationOptions();
|
||||||
options.ServerContentAssembly = typeof(Server.EntryPoint).Assembly;
|
options.ServerContentAssembly = typeof(Server.EntryPoint).Assembly;
|
||||||
options.SharedContentAssembly = typeof(Shared.EntryPoint).Assembly;
|
options.SharedContentAssembly = typeof(Shared.EntryPoint).Assembly;
|
||||||
return base.StartServer(options);
|
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.Interfaces.Network;
|
||||||
using Robust.Shared.IoC;
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
namespace Content.IntegrationTests
|
namespace Content.IntegrationTests.Tests
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class ConnectTest : ContentIntegrationTest
|
public class ConnectTest : ContentIntegrationTest
|
||||||
@@ -8,7 +8,7 @@ using Robust.Shared.Interfaces.Resources;
|
|||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
using Robust.Shared.Utility;
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.IntegrationTests
|
namespace Content.IntegrationTests.Tests
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tests that the
|
/// Tests that the
|
||||||
@@ -2,7 +2,7 @@ using System.Threading.Tasks;
|
|||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using Robust.Shared.Exceptions;
|
using Robust.Shared.Exceptions;
|
||||||
|
|
||||||
namespace Content.IntegrationTests
|
namespace Content.IntegrationTests.Tests
|
||||||
{
|
{
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class StartTest : ContentIntegrationTest
|
public class StartTest : ContentIntegrationTest
|
||||||
Reference in New Issue
Block a user