โครงสร้าง ผลิตภัณฑ์ และการสร้าง/ทดสอบ/เรียกใช้
เรียนรู้โครงสร้าง SwiftPM (Sources/ และ Tests/) ผลิตภัณฑ์ (ไฟล์ปฏิบัติการกับไลบรารี) และวิธีสร้าง ทดสอบ และเรียกใช้ด้วย CLI
โครงสร้าง ผลิตภัณฑ์ และการสร้าง/ทดสอบ/เรียกใช้ เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
ภาพรวม
บทเรียนนี้แสดงโครงสร้างของ SwiftPM วิธีที่ผลิตภัณฑ์เชื่อมโยงกับเป้าหมาย และ CLI สำหรับสร้าง/ทดสอบ/เรียกใช้
โครงสร้างโฟลเดอร์
SwiftPM ต้องการโฟลเดอร์ Sources/ และ Tests/ แต่ละเป้าหมายจะมีโฟลเดอร์ของตนเอง
let tree = """
MyPkg/
├─ Package.swift
├─ Sources/
│ ├─ MyLib/ // library target sources
│ │ └─ MyLib.swift
│ └─ MyApp/ // executable target sources (main.swift)
│ └─ main.swift
└─ Tests/
├─ MyLibTests/
│ └─ MyLibTests.swift
└─ MyAppTests/
└─ MyAppTests.swift
"""
print(tree)ผลิตภัณฑ์และเป้าหมาย
ผลิตภัณฑ์เปิดเผยเป้าหมาย โดยไลบรารีเหมาะสำหรับการนำกลับมาใช้ ส่วนโปรแกรมที่เรียกใช้งานได้เหมาะสำหรับแอปหรือ CLI การทดสอบจะอยู่ภายใต้ testTarget
let manifest = """
// Package.swift (illustrative)
import PackageDescription
let package = Package(
name: "MyPkg",
products: [
.library(name: "MyLib", targets: ["MyLib"]),
.executable(name: "MyApp", targets: ["MyApp"])
],
targets: [
.target(name: "MyLib"),
.executableTarget(name: "MyApp", dependencies: ["MyLib"]),
.testTarget(name: "MyLibTests", dependencies: ["MyLib"])
]
)
"""
print(manifest)ไลบรารีเทียบกับโปรแกรมที่เรียกใช้งานได้
ไลบรารีเปิดเผยส่วนเชื่อมต่อโปรแกรม ส่วนโปรแกรมที่เรียกใช้งานได้มีจุดเริ่มต้น main.swift และสามารถพึ่งพาไลบรารีได้
// Library code (Sources/MyLib/MyLib.swift)
public struct Greeter {
public init() {}
public func hello(_ name: String) -> String { "Hello, \\(name)" }
}
// Executable entry (Sources/MyApp/main.swift)
let g = Greeter()
print(g.hello("World"))พื้นฐาน CLI
ใช้ CLI ได้แก่ swift สร้าง, swift เรียกใช้ <Exe> และ swift ทดสอบ เพิ่ม -c release เพื่อสร้างแบบปรับให้เหมาะสมแล้ว
let cmds = """
# Build (debug by default)
swift build
# Run an executable product
swift run MyApp
# Execute tests (XCTest)
swift test
# Release build (optimized)
swift build -c release
"""
print(cmds)ผลลัพธ์และเคล็ดลับ
ผลลัพธ์อยู่ใน .build/ ควรให้แต่ละเป้าหมายมีหน้าที่ชัดเจน และวางการทดสอบไว้ใต้ Tests/<Target>Tests
let notes = """
Artifacts live under .build/:
• debug/ and release/ contain compiled products
• x86_64-apple-macosx / arm64-apple-* vary by platform/arch
Tips:
• Keep one target per responsibility
• Name products simply; match target folders
• Put tests in Tests/<TargetName>Tests
"""
print(notes)เรียกใช้การทดสอบ
ตรวจสอบอย่างรวดเร็ว: คำสั่งใดใช้เรียกใช้การทดสอบ
สรุปทบทวน
สรุปทบทวน: ใช้โครงสร้างมาตรฐาน Sources/ และ Tests/ เชื่อมโยงเป้าหมายกับผลิตภัณฑ์ และทำงานด้วย swift สร้าง, swift เรียกใช้ และ swift ทดสอบ
คำถามที่พบบ่อย
บทเรียน “โครงสร้าง ผลิตภัณฑ์ และการสร้าง/ทดสอบ/เรียกใช้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “โครงสร้าง ผลิตภัณฑ์ และการสร้าง/ทดสอบ/เรียกใช้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “โครงสร้าง ผลิตภัณฑ์ และการสร้าง/ทดสอบ/เรียกใช้”
เรียนรู้โครงสร้าง SwiftPM (Sources/ และ Tests/) ผลิตภัณฑ์ (ไฟล์ปฏิบัติการกับไลบรารี) และวิธีสร้าง ทดสอบ และเรียกใช้ด้วย CLI คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 3 บทเรียน
บทเรียน “โครงสร้าง ผลิตภัณฑ์ และการสร้าง/ทดสอบ/เรียกใช้” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม
ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- พื้นฐาน Swift Package Manager
- โครงสร้าง ผลิตภัณฑ์ และการสร้าง/ทดสอบ/เรียกใช้
- การนำเข้าโมดูลและพื้นฐานการกำหนดเวอร์ชันเชิงความหมาย