Testing ======= SonarAnalyzer.CSharp -------------------- Themerr-jellyfin uses `SonarAnalyzers.CSharp `__ to spot Bugs, Vulnerabilities, and Code Smells in the project. This is run automatically as part of the build process. The config file for SonarAnalyzers.CSharp is ``.editorconfig``. StyleCop.Analyzers ------------------ Themerr-jellyfin uses `StyleCop.Analyzers `__ to enforce consistent code styling. This is run automatically as part of the build process. The config file for StyleCop.Analyzers is ``.editorconfig``. Sphinx ------ Themerr-jellyfin uses `Sphinx `__ for documentation building. Sphinx, along with other required python dependencies are included in the ``docs`` dependency group in ``pyproject.toml``. Python dependencies are managed with ``uv`` and locked in ``uv.lock``. Install the documentation dependencies with: .. code-block:: bash uv sync --only-group docs --no-install-project The config file for Sphinx is ``docs/source/conf.py``. This is already included in the root of the repo and should not be modified. Test with Sphinx .. code-block:: bash cd docs uv run --no-sync make html Alternatively .. code-block:: bash cd docs uv run --no-sync sphinx-build -b html source build Lint with rstcheck .. code-block:: bash uv run --no-sync rstcheck -r . Unit Testing ------------ Themerr-jellyfin uses `xUnit `__ for unit testing. Test with xUnit .. code-block:: bash dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=opencover --logger "console;verbosity=detailed"