Skip to content

Commit 53b6028

Browse files
authored
Move to NUnit v4 (#6183)
1 parent ffc3fba commit 53b6028

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+683
-658
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ jobs:
310310
# TODO: Once test/Npgsql.Specification.Tests work, switch to just testing on the solution
311311
- name: Test
312312
run: |
313-
dotnet test -c ${{ matrix.config }} -f ${{ matrix.test_tfm }} test/Npgsql.Tests --logger "GitHubActions;report-warnings=false"
313+
dotnet test -c ${{ matrix.config }} -f ${{ matrix.test_tfm }} test/Npgsql.Tests --logger "GitHubActions;report-warnings=false" --blame-hang-timeout 30s
314314
dotnet test -c ${{ matrix.config }} -f ${{ matrix.test_tfm }} test/Npgsql.DependencyInjection.Tests --logger "GitHubActions;report-warnings=false"
315315
shell: bash
316316

Directory.Packages.props

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,13 @@
2424
<PackageVersion Include="Scriban.Signed" Version="5.9.0 " />
2525

2626
<!-- Tests -->
27-
<PackageVersion Include="NUnit" Version="3.14.0" />
27+
<PackageVersion Include="NUnit" Version="4.4.0" />
28+
<PackageVersion Include="NUnit.Analyzers" Version="4.10.0" />
2829
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.1" />
2930
<PackageVersion Include="Microsoft.Extensions.Logging.Console" Version="8.0.1" />
3031
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
3132
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
32-
<PackageVersion Include="NUnit3TestAdapter" Version="4.5.0" />
33+
<PackageVersion Include="NUnit3TestAdapter" Version="5.1.0" />
3334
<PackageVersion Include="xunit" Version="2.7.0" />
3435
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.7" />
3536
<PackageVersion Include="GitHubActionsTestLogger" Version="2.4.1" />

test/Npgsql.DependencyInjection.Tests/Npgsql.DependencyInjection.Tests.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
<PackageReference Include="Microsoft.Extensions.Logging" />
55
<PackageReference Include="NUnit" />
66
<PackageReference Include="Microsoft.NET.Test.Sdk" />
7+
<PackageReference Include="NUnit.Analyzers">
8+
<PrivateAssets>all</PrivateAssets>
9+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
10+
</PackageReference>
711
<PackageReference Include="NUnit3TestAdapter" />
812
</ItemGroup>
913

test/Npgsql.NativeAotTests/Npgsql.NativeAotTests.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,10 @@
1818
<ItemGroup>
1919
<PackageReference Remove="GitHubActionsTestLogger" />
2020
</ItemGroup>
21+
<ItemGroup>
22+
<PackageReference Include="NUnit.Analyzers">
23+
<PrivateAssets>all</PrivateAssets>
24+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
25+
</PackageReference>
26+
</ItemGroup>
2127
</Project>

test/Npgsql.PluginTests/GeoJSONTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ public async Task Import_geometry(TestData data)
304304
await using var cmd = conn.CreateCommand();
305305
cmd.CommandText = $"SELECT field FROM {table}";
306306
await using var reader = await cmd.ExecuteReaderAsync();
307-
Assert.IsTrue(await reader.ReadAsync());
307+
Assert.That(await reader.ReadAsync());
308308
var actual = reader.GetValue(0);
309309
Assert.That(actual, Is.EqualTo(data.Geometry));
310310
}
@@ -341,7 +341,7 @@ public async Task Import_big_geometry()
341341
await using var cmd = conn.CreateCommand();
342342
cmd.CommandText = $"SELECT field FROM {table}";
343343
await using var reader = await cmd.ExecuteReaderAsync();
344-
Assert.IsTrue(await reader.ReadAsync());
344+
Assert.That(await reader.ReadAsync());
345345
var actual = reader.GetValue(0);
346346
Assert.That(actual, Is.EqualTo(geometry));
347347
}

test/Npgsql.PluginTests/Npgsql.PluginTests.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@
55
<PackageReference Include="NodaTime" />
66
<PackageReference Include="NUnit" />
77
<PackageReference Include="Microsoft.NET.Test.Sdk" />
8+
<PackageReference Include="NUnit.Analyzers">
9+
<PrivateAssets>all</PrivateAssets>
10+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
11+
</PackageReference>
812
<PackageReference Include="NUnit3TestAdapter" />
913
</ItemGroup>
1014

test/Npgsql.Tests/AuthenticationTests.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public async Task Password_provider([Values]bool async)
6666

6767
using var dataSource = dataSourceBuilder.Build();
6868
using var conn = async ? await dataSource.OpenConnectionAsync() : dataSource.OpenConnection();
69-
Assert.True(async ? asyncProviderCalled : syncProviderCalled, "Password_provider not used");
69+
Assert.That(async ? asyncProviderCalled : syncProviderCalled, "Password_provider not used");
7070
}
7171

7272
[Test]
@@ -418,7 +418,7 @@ public async Task ProvidePasswordCallback_is_used()
418418
using (var conn = new NpgsqlConnection(builder.ConnectionString) { ProvidePasswordCallback = ProvidePasswordCallback })
419419
{
420420
conn.Open();
421-
Assert.True(getPasswordDelegateWasCalled, "ProvidePasswordCallback delegate not used");
421+
Assert.That(getPasswordDelegateWasCalled, "ProvidePasswordCallback delegate not used");
422422

423423
// Do this again, since with multiplexing the very first connection attempt is done via
424424
// the non-multiplexing path, to surface any exceptions.
@@ -427,7 +427,7 @@ public async Task ProvidePasswordCallback_is_used()
427427
getPasswordDelegateWasCalled = false;
428428
conn.Open();
429429
Assert.That(await conn.ExecuteScalarAsync("SELECT 1"), Is.EqualTo(1));
430-
Assert.True(getPasswordDelegateWasCalled, "ProvidePasswordCallback delegate not used");
430+
Assert.That(getPasswordDelegateWasCalled, "ProvidePasswordCallback delegate not used");
431431
}
432432

433433
string ProvidePasswordCallback(string host, int port, string database, string username)
@@ -500,10 +500,10 @@ public void ProvidePasswordCallback_gets_correct_arguments()
500500
using (var conn = new NpgsqlConnection(builder.ConnectionString) { ProvidePasswordCallback = ProvidePasswordCallback })
501501
{
502502
conn.Open();
503-
Assert.AreEqual(builder.Host, receivedHost);
504-
Assert.AreEqual(builder.Port, receivedPort);
505-
Assert.AreEqual(builder.Database, receivedDatabase);
506-
Assert.AreEqual(builder.Username, receivedUsername);
503+
Assert.That(receivedHost, Is.EqualTo(builder.Host));
504+
Assert.That(receivedPort, Is.EqualTo(builder.Port));
505+
Assert.That(receivedDatabase, Is.EqualTo(builder.Database));
506+
Assert.That(receivedUsername, Is.EqualTo(builder.Username));
507507
}
508508

509509
string ProvidePasswordCallback(string host, int port, string database, string username)

test/Npgsql.Tests/BatchTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -294,10 +294,10 @@ public async Task StatementOID()
294294
}
295295

296296
[Test]
297-
public void CanCreateParameter() => Assert.True(new NpgsqlBatchCommand().CanCreateParameter);
297+
public void CanCreateParameter() => Assert.That(new NpgsqlBatchCommand().CanCreateParameter);
298298

299299
[Test]
300-
public void CreateParameter() => Assert.NotNull(new NpgsqlBatchCommand().CreateParameter());
300+
public void CreateParameter() => Assert.That(new NpgsqlBatchCommand().CreateParameter(), Is.Not.Null);
301301

302302
#endregion NpgsqlBatchCommand
303303

@@ -702,7 +702,7 @@ await conn.ExecuteNonQueryAsync($@"
702702
// resources are referenced by the exception above, which is very likely to escape the using statement of the command.
703703
batch.Dispose();
704704
var cmd2 = conn.CreateBatch();
705-
Assert.AreNotSame(cmd2, batch);
705+
Assert.That(batch, Is.Not.SameAs(cmd2));
706706
}
707707

708708
[Test, IssueLink("https://github.com/npgsql/npgsql/issues/967")]
@@ -731,7 +731,7 @@ await conn.ExecuteNonQueryAsync($@"
731731
// resources are referenced by the exception above, which is very likely to escape the using statement of the command.
732732
batch.Dispose();
733733
var cmd2 = conn.CreateBatch();
734-
Assert.AreNotSame(cmd2, batch);
734+
Assert.That(batch, Is.Not.SameAs(cmd2));
735735
}
736736

737737
[Test, IssueLink("https://github.com/npgsql/npgsql/issues/4202")]

test/Npgsql.Tests/BugTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1261,12 +1261,12 @@ public async Task Bug3649()
12611261
using (var exporter = await conn.BeginBinaryExportAsync($"COPY {table} (value) TO STDIN (FORMAT binary)"))
12621262
{
12631263
await exporter.StartRowAsync();
1264-
Assert.IsTrue(exporter.IsNull);
1264+
Assert.That(exporter.IsNull);
12651265
await exporter.SkipAsync();
12661266
await exporter.StartRowAsync();
1267-
Assert.AreEqual(1, await exporter.ReadAsync<int?>());
1267+
Assert.That(await exporter.ReadAsync<int?>(), Is.EqualTo(1));
12681268
await exporter.StartRowAsync();
1269-
Assert.AreEqual(2, await exporter.ReadAsync<int?>());
1269+
Assert.That(await exporter.ReadAsync<int?>(), Is.EqualTo(2));
12701270
}
12711271
}
12721272

test/Npgsql.Tests/CommandBuilderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ public async Task Get_update_command_with_column_aliases()
364364
using var cbCommandBuilder = new NpgsqlCommandBuilder(daDataAdapter);
365365

366366
daDataAdapter.UpdateCommand = cbCommandBuilder.GetUpdateCommand();
367-
Assert.True(daDataAdapter.UpdateCommand.CommandText.Contains("SET \"cod\" = @p1, \"descr\" = @p2, \"data\" = @p3 WHERE ((\"cod\" = @p4) AND ((@p5 = 1 AND \"descr\" IS NULL) OR (\"descr\" = @p6)) AND ((@p7 = 1 AND \"data\" IS NULL) OR (\"data\" = @p8)))"));
367+
Assert.That(daDataAdapter.UpdateCommand.CommandText.Contains("SET \"cod\" = @p1, \"descr\" = @p2, \"data\" = @p3 WHERE ((\"cod\" = @p4) AND ((@p5 = 1 AND \"descr\" IS NULL) OR (\"descr\" = @p6)) AND ((@p7 = 1 AND \"data\" IS NULL) OR (\"data\" = @p8)))"));
368368
}
369369

370370
[Test, IssueLink("https://github.com/npgsql/npgsql/issues/2846")]

0 commit comments

Comments
 (0)