Switch to nunit for unit tests

This commit is contained in:
Luke 2022-09-08 16:07:58 +10:00
parent 521eeacd73
commit 13e82110ee
2 changed files with 25 additions and 23 deletions

View file

@ -1,31 +1,30 @@
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
using System;
using System.Diagnostics;
using System.Threading;
namespace TShockLauncher.Tests
namespace TShockLauncher.Tests;
public class ServerInitTests
{
[TestClass]
public class ServerInitTests
[TestCase]
public void EnsureBoots()
{
[TestMethod]
public void EnsureBoots()
var are = new AutoResetEvent(false);
On.Terraria.Main.hook_DedServ cb = (On.Terraria.Main.orig_DedServ orig, Terraria.Main instance) =>
{
var are = new AutoResetEvent(false);
On.Terraria.Main.hook_DedServ cb = (On.Terraria.Main.orig_DedServ orig, Terraria.Main instance) =>
{
are.Set();
Debug.WriteLine("Server init process successful");
};
On.Terraria.Main.DedServ += cb;
are.Set();
Debug.WriteLine("Server init process successful");
};
On.Terraria.Main.DedServ += cb;
new Thread(() => TerrariaApi.Server.Program.Main(new string[] { })).Start();
new Thread(() => TerrariaApi.Server.Program.Main(new string[] { })).Start();
var hit = are.WaitOne(TimeSpan.FromSeconds(10));
var hit = are.WaitOne(TimeSpan.FromSeconds(10));
On.Terraria.Main.DedServ -= cb;
On.Terraria.Main.DedServ -= cb;
Assert.AreEqual(true, hit);
}
Assert.IsTrue(hit);
}
}

View file

@ -8,14 +8,17 @@
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.1" />
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
<PackageReference Include="coverlet.collector" Version="3.1.2"><IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="NUnit" Version="3.13.3" />
<PackageReference Include="NUnit3TestAdapter" Version="4.2.1" />
<PackageReference Include="NUnit.Analyzers" Version="3.3.0" />
<PackageReference Include="coverlet.collector" Version="3.1.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\TShockAPI\TShockAPI.csproj" />
<ProjectReference Include="..\TShockLauncher\TShockLauncher.csproj" />
</ItemGroup>