Skip to content

DanfeSharp.Test: projeto SDK-style e CI para os testes rodarem em PR #56

Open

Description

@rhfranzoni

Contexto

No review do #55 (DANFE da Reforma Tributária, NT 2026.010), o revisor apontou que o DanfeSharp não tem teste rodando em lugar nenhum:

  • DanfeSharp.Test é net461 com MSTest v1 e packages.config, então dotnet test DanfeSharp.sln termina com EXIT=0 sem executar teste.
  • O repositório não tem CI.
  • No product-invoice, pr.yml (-**/lib/**) e o coverage.runsettings excluem a lib da cobertura.

O #55 passou a trazer testes de unidade em DanfeSharp.Test/ReformaTributariaTests.cs (19). Hoje eles só rodam localmente:

nuget restore DanfeSharp.Test/packages.config -PackagesDirectory packages
dotnet build DanfeSharp.Test/DanfeSharp.Test.csproj
vstest.console DanfeSharp.Test/bin/Debug/DanfeSharp.Test.dll

Resultado no head do #55: 147 aprovados e 21 falhas que já existiam antes. Essas 21 falhas são tratadas no #44.

Proposta

  • Migrar DanfeSharp.Test para projeto SDK-style (net8.0+ ou multi-target com net461), MSTest v2+ e PackageReference.
  • Workflow de CI que rode dotnet build e dotnet test em PR para a main.
  • Zerar as 21 falhas que já existem (depende do fix: destrava 21 testes pre-existentes do DanfeSharp.Test #44) antes de tornar o job obrigatório.

Registrado no mesmo review (fora do diff, sem ação no #55)

  • XmlSerializer.Deserialize(TextReader) em DanfeViewModelCreator.cs sem XmlReader com DTD desabilitado (CA5369).
  • Laço de paginação em Danfe.cs sem saída quando uma única linha é mais alta que a página.

Activity

  1. self-assigned this
    on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions