testing

XCTest—Layout, Mocks, Fixtures, SwiftLint/Slather, Offline-Tests, Linux-Manifeste.

npx skills add https://github.com/contentstack/contentstack-utils-swift --skill testing

Testing – Contentstack Utils Swift

When to use

  • Adding or changing tests under Tests/ContentstackUtilsTests/.
  • Debugging flaky tests; improving fixtures or mocks.

Runner and tooling

  • XCTest via swift test (SPM) and/or Xcode scheme ContentstackUtils-Package (ContentstackUtils.xcodeproj), matching .github/workflows/ci.yml.
  • SwiftLint: .swiftlint.yml; Tests/ContentstackUtilsTests/Constants.swift is excluded—other test files are linted.
  • Slather: .slather.yml ignores Tests/* in coverage reports; still add tests for new production code in Sources/ContentstackUtils/ when practical.

Test naming and layout

  • Target: ContentstackUtilsTests; path Tests/ContentstackUtilsTests/.
  • File names: *Tests.swift, *Test.swift, or feature-oriented names (GQLJsonToHtml.swift, JsonNodes.swift, VariantUtilityTests.swift).
  • Fixtures and mocks: Prefer JsonNodes.swift, JsonNodesHtmlResults.swift, EmbededModelMock.swift, CustomRenderOptionMock.swift, TestClient.swift, etc., before adding parallel helpers.

Integration vs unit

  • No separate integration tree: tests live in ContentstackUtilsTests with mocks for API-shaped payloads—no live network or credentials in CI.

Linux / discovery

  • Maintain XCTestManifests.swift if your workflow requires explicit Linux test discovery.

Secrets

  • Tests are offline; do not commit API keys or real tokens.

References

  • skills/dev-workflow/SKILL.md
  • skills/code-review/SKILL.md

Mehr Skills von contentstack

cms-assets
contentstack
Entwickler bei der Organisation, Bereitstellung und Transformation von Assets in Contentstack beraten. Ordnerstruktur, Transformationen über die Image Delivery API, Veröffentlichung abdecken…
cms-branches-aliases
contentstack
Entwickler beraten, wie Contentstack-Branches für isolierte Content-Entwicklung und Aliase für Content-Bereitstellungen ohne Ausfallzeiten genutzt werden können. Branch-Strategie abdecken, …
cms-data-modeling-best-practices
contentstack
Leiten Sie Entwickler an, Inhalte in Contentstack mit der einfachsten wiederverwendbaren Struktur zu modellieren. Die Fertigkeit erklärt, wann Inhaltstypen, Referenzen, globale…
cms-live-preview-visual-builder-support-assistant
contentstack
Diagnostizieren und leiten Sie Contentstack Live Preview- und Visual Builder-Implementierungen. Verfolgen Sie den Vorschaukontext, identifizieren Sie den defekten Vertrag und empfehlen Sie die…
cms-releases
contentstack
Entwickler bei der Nutzung von Contentstack Releases für koordinierte, atomare Content-Bereitstellungen beraten. Release-Erstellung, Elementverwaltung, gestaffelte Bereitstellung abdecken, …
cms-roles-permissions
contentstack
Entwickler bei der Gestaltung von Rollen, Berechtigungen, Teams und Token-Zugriff in Contentstack beraten. Integrierte Rollen, benutzerdefinierte Rollen, Berechtigungszusammenführung, … erklären.
cms-taxonomy
contentstack
Entwickler beraten, wie Contentstack Taxonomy für strukturierte, hierarchische Inhaltsklassifizierung und auslieferungsseitige Filterung verwendet wird. Behandelt Taxonomy vs. Tags, …
cms-tokens-authentication
contentstack
Entwickler beraten, wie sie die richtige Contentstack-Authentifizierungsmethode und den passenden Token-Typ für Frontend-, Backend-, Automatisierungs- und Drittanbieter-App-Anwendungsfälle auswählen.…