feat(backend): scaffold ASP.NET Core Web API + xunit test project

This commit is contained in:
meelstorm
2026-07-17 17:35:40 +00:00
committed by EugeneTes
parent caf0376323
commit b17a845ff7
7 changed files with 126 additions and 0 deletions

View File

@@ -0,0 +1,28 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.*" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="xunit" Version="2.5.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3" />
</ItemGroup>
<ItemGroup>
<Using Include="Xunit" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Backend\Backend.csproj" />
</ItemGroup>
</Project>

15
Backend/Backend.csproj Normal file
View File

@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="8.0.29" />
<PackageReference Include="Microsoft.ML.OnnxRuntime" Version="1.19.*" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.6.2" />
</ItemGroup>
</Project>

6
Backend/Backend.http Normal file
View File

@@ -0,0 +1,6 @@
@Backend_HostAddress = http://localhost:5281
GET {{Backend_HostAddress}}/weatherforecast/
Accept: application/json
###

5
Backend/Program.cs Normal file
View File

@@ -0,0 +1,5 @@
// Placeholder. Rewritten in Task 6.
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "GameCli Backend placeholder");
app.Run();

View File

@@ -0,0 +1,31 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:7830",
"sslPort": 0
}
},
"profiles": {
"http": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "http://localhost:5281",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

13
Backend/appsettings.json Normal file
View File

@@ -0,0 +1,13 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"Lander": {
"CliPath": "publish/GameCli/GameCli",
"ModelPath": "models/ppo_lander.onnx"
}
}

View File

@@ -7,6 +7,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameCli", "GameCli\GameCli.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GameCli.Tests", "GameCli.Tests\GameCli.Tests.csproj", "{C0C7008D-E7BE-47E2-8CBB-2630AF817CC7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Backend", "Backend\Backend.csproj", "{69BB68BF-2864-497E-993C-CB9D67A21041}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Backend.Tests", "Backend.Tests\Backend.Tests.csproj", "{BA5C4CD7-66EC-4512-8155-D81E48A6A568}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -41,6 +45,30 @@ Global
{C0C7008D-E7BE-47E2-8CBB-2630AF817CC7}.Release|x64.Build.0 = Release|Any CPU
{C0C7008D-E7BE-47E2-8CBB-2630AF817CC7}.Release|x86.ActiveCfg = Release|Any CPU
{C0C7008D-E7BE-47E2-8CBB-2630AF817CC7}.Release|x86.Build.0 = Release|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Debug|Any CPU.Build.0 = Debug|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Debug|x64.ActiveCfg = Debug|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Debug|x64.Build.0 = Debug|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Debug|x86.ActiveCfg = Debug|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Debug|x86.Build.0 = Debug|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Release|Any CPU.ActiveCfg = Release|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Release|Any CPU.Build.0 = Release|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Release|x64.ActiveCfg = Release|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Release|x64.Build.0 = Release|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Release|x86.ActiveCfg = Release|Any CPU
{69BB68BF-2864-497E-993C-CB9D67A21041}.Release|x86.Build.0 = Release|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Debug|x64.ActiveCfg = Debug|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Debug|x64.Build.0 = Debug|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Debug|x86.ActiveCfg = Debug|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Debug|x86.Build.0 = Debug|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Release|Any CPU.Build.0 = Release|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Release|x64.ActiveCfg = Release|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Release|x64.Build.0 = Release|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Release|x86.ActiveCfg = Release|Any CPU
{BA5C4CD7-66EC-4512-8155-D81E48A6A568}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE