test: stand up xUnit harness for QA gate (S1-f)
Standalone net9.0 xUnit project at tests/FieldLogger.Tests (no MAUI workload) so `dotnet test` runs fast in the QA gate. Smoke suite only for now; real app logic tests land once codec/sim are factored into a workload-free library. Trace: SRS §6 gate, NFR-8. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
28
tests/FieldLogger.Tests/FieldLogger.Tests.csproj
Normal file
28
tests/FieldLogger.Tests/FieldLogger.Tests.csproj
Normal file
@@ -0,0 +1,28 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<!--
|
||||
QA smoke/regression harness for the Field Logger app (S1-f, trace: SRS §6 gate / NFR-8).
|
||||
|
||||
Targets plain net9.0 (NOT the MAUI platform TFMs) so `dotnet test` runs on any dev/CI
|
||||
machine without the MAUI workload, keeping the QA gate fast. It deliberately does NOT
|
||||
reference FieldLogger.csproj yet, because that project pulls in MAUI/platform deps.
|
||||
|
||||
When app logic that needs testing (e.g. the S1-b IF-LOC codec / locator simulator) is
|
||||
factored into a plain .NET class library, add a ProjectReference to it here and the
|
||||
round-trip tests move in. Coordinated with app-owner.
|
||||
-->
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
|
||||
<PackageReference Include="xunit" Version="2.9.2" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
24
tests/FieldLogger.Tests/SmokeTests.cs
Normal file
24
tests/FieldLogger.Tests/SmokeTests.cs
Normal file
@@ -0,0 +1,24 @@
|
||||
using Xunit;
|
||||
|
||||
namespace FieldLogger.Tests;
|
||||
|
||||
// Smoke test for the QA gate (S1-f, trace: SRS §6 gate / NFR-8).
|
||||
// Proves the .NET test toolchain (dotnet test + xUnit) is wired and green in the app repo.
|
||||
// Substantive coverage (e.g. the S1-b IF-LOC codec round-trip) is added once the app's
|
||||
// pure logic is factored into a workload-free library this project can reference.
|
||||
public class SmokeTests
|
||||
{
|
||||
[Fact]
|
||||
public void Harness_Runs()
|
||||
{
|
||||
Assert.True(true);
|
||||
}
|
||||
|
||||
[Theory]
|
||||
[InlineData(1, 1, 2)]
|
||||
[InlineData(2, 3, 5)]
|
||||
public void Arithmetic_Sanity(int a, int b, int expected)
|
||||
{
|
||||
Assert.Equal(expected, a + b);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user