testing

โดย contentstack

XCTest—เลย์เอาต์, ม็อก, ฟิกซ์เจอร์, SwiftLint/Slather, การทดสอบแบบออฟไลน์, แมนิเฟสต์ Linux

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

Skills เพิ่มเติมจาก contentstack

cms-assets
contentstack
ให้คำแนะนำนักพัฒนาเกี่ยวกับการจัดระเบียบ การส่งมอบ และการแปลง assets ใน Contentstack ครอบคลุมโครงสร้างโฟลเดอร์ การแปลงผ่าน Image Delivery API การเผยแพร่…
cms-branches-aliases
contentstack
แนะนำนักพัฒนาเกี่ยวกับการใช้ branches ของ Contentstack สำหรับการพัฒนาคอนเทนต์แบบแยกส่วน และ aliases สำหรับการ部署คอนเทนต์โดยไม่มีการหยุดให้บริการ ครอบคลุมกลยุทธ์การจัดการ branches และ…
cms-data-modeling-best-practices
contentstack
แนะนำนักพัฒนาในการออกแบบโมเดลเนื้อหาใน Contentstack โดยใช้โครงสร้างที่เรียบง่ายที่สุดและสามารถนำกลับมาใช้ใหม่ได้ สกิลนี้อธิบายว่าควรใช้ content types, references, global… เมื่อใด
cms-live-preview-visual-builder-support-assistant
contentstack
วินิจฉัยและแนะนำการติดตั้ง Contentstack Live Preview และ Visual Builder ตรวจสอบบริบทตัวอย่าง ระบุสัญญาที่ขาด และแนะนำ…
cms-releases
contentstack
แนะนำนักพัฒนาเกี่ยวกับการใช้ Contentstack Releases สำหรับการปรับใช้เนื้อหาแบบประสานงานและเป็นอะตอมมิก ครอบคลุมการสร้างรีลีส การจัดการไอเทม การปรับใช้แบบเป็นขั้นตอน…
cms-roles-permissions
contentstack
ให้คำแนะนำนักพัฒนาเกี่ยวกับการออกแบบบทบาท สิทธิ์ ทีม และการเข้าถึงโทเค็นใน Contentstack อธิบายบทบาทในตัว บทบาทที่กำหนดเอง การรวมสิทธิ์…
cms-taxonomy
contentstack
ให้คำแนะนำนักพัฒนาเกี่ยวกับการใช้ Contentstack Taxonomy สำหรับการจำแนกเนื้อหาที่มีโครงสร้างและเป็นลำดับชั้น รวมถึงการกรองฝั่งดีลิเวอรี ครอบคลุม taxonomy เทียบกับ tags,…
cms-tokens-authentication
contentstack
แนะนำนักพัฒนาในการเลือกวิธีการรับรองความถูกต้องและประเภทโทเค็นของ Contentstack ที่เหมาะสมสำหรับกรณีการใช้งาน frontend, backend, automation และแอปพลิเคชันของบุคคลที่สาม…