@
Phase 0: Test-Fundament & Architektur-Doku - IBKRTrader.Tests (xUnit + NSubstitute + FluentAssertions), nur Unit-Tests - Repo-lokale NuGet.config: Test-Pakete in Allowlist ergaenzt - Hauptprojekt: Test-Unterordner aus SDK-Globbing ausgeschlossen - docs/ARCHITECTURE.md: Plan + Phasen-Checkliste - grundregeln.md: .NET 10, Launcher-Modell; DB-Passwort entfernt Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> @
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- net10.0-windows + WinForms, weil das Testprojekt die WinForms-Hauptassembly referenziert -->
|
||||
<TargetFramework>net10.0-windows</TargetFramework>
|
||||
<UseWindowsForms>true</UseWindowsForms>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<IsPackable>false</IsPackable>
|
||||
<SatelliteResourceLanguages>en</SatelliteResourceLanguages>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="coverlet.collector" Version="6.0.4" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
|
||||
<PackageReference Include="xunit" Version="2.9.3" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
|
||||
<PackageReference Include="NSubstitute" Version="5.3.0" />
|
||||
<PackageReference Include="FluentAssertions" Version="7.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\IBKRTrader.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Using Include="Xunit" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,29 @@
|
||||
using FluentAssertions;
|
||||
using IBKRTrader.Core.Settings;
|
||||
using IBKRTrader.Core.Workers;
|
||||
|
||||
namespace IBKRTrader.Tests;
|
||||
|
||||
/// <summary>
|
||||
/// Phase-0-Smoke-Test: bestätigt, dass die Test-Infrastruktur steht und die
|
||||
/// Referenz auf die Hauptassembly (IBKRTrader) kompiliert und lädt.
|
||||
/// </summary>
|
||||
[Trait("cat", "unit")]
|
||||
public class SmokeTests
|
||||
{
|
||||
[Fact]
|
||||
public void MainAssembly_IsReferenced_AndDefaultsLoad()
|
||||
{
|
||||
var settings = new AppSettings();
|
||||
|
||||
settings.Should().NotBeNull();
|
||||
settings.IBKR.Should().NotBeNull();
|
||||
settings.Logging.Level.Should().Be("Info");
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void WorkerType_HasWorkerAndService()
|
||||
{
|
||||
Enum.GetNames<WorkerType>().Should().Contain(["Worker", "Service"]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user