تست کردن در مسیر SQLite

یاد بگیرید چطور تمرین‌های SQLite خود را در Exercism تست کنید


برای اجرای Testهای تمرین‌های SQLite خودتان، این مراحل را دنبال کنید:

  1. ترمینال دلخواه خود را باز کنید.
  2. به پوشه‌ای بروید که فایل ${slug}_test.sql مناسب در آن قرار دارد؛ در اینجا ${slug} اسم تمرین است که با خط تیره به‌جای فاصله و همگی با حروف کوچک نوشته می‌شود.
  3. دستور زیر را اجرا کنید:
sqlite3 -bail < ${slug}_test.sql

این دستور SQLite را با یک پایگاه‌داده‌ی خالی راه‌اندازی می‌کند، Testهای مشخص‌شده در ${slug}_test.sql را اجرا می‌کند و در پایان خارج می‌شود. -bail باعث می‌شود اجرا در صورت نامعتبر بودن Code متوقف شود.

نتایج Test در کنسول به شکل یک جدول نمایش داده می‌شود که توضیح هر Test، وضعیت آن (مثلاً «pass») و در صورت «fail» بودن وضعیت، یک پیام را نشان می‌دهد.

Debugging

برای Debug کردن می‌توانید از دستورهای SELECT استفاده کنید. اگر Testها شکست بخورند، خروجی به user_output.md فرستاده می‌شود و در ویرایشگر وب نمایش داده می‌شود.

جزئیات اجرا

فایل Test (${slug}_test.sql) اسکریپت نسبتاً پیچیده‌ای است. در ادامه نمای کلی کارهایی که انجام می‌دهد را می‌بینید.

  1. جدول‌ها را با خواندن create_fixture.sql می‌سازد. این کار جدول‌ها را می‌سازد و سپس آن‌ها را پر می‌کند: مقادیر از data.csv برای داده‌های معتبر و از error_data.csv برای موردهایی که باید شکست بخورند. در طول Testها فقط همان جدول‌ها بررسی می‌شوند؛ تغییرات سایر جدول‌ها نادیده گرفته می‌شود.
  2. Code راه‌حل را با خواندن فایل ${slug}.sql اجرا می‌کند.
  3. جدول‌هایی می‌سازد که موارد Test و نتایج را در خود نگه دارند.
  4. نتایج Test را بر اساس داده‌های جدول یا جدول‌هایی که راه‌حل به‌روزرسانی کرده پر می‌کند.
  5. نتایج Test را نمایش می‌دهد (pass یا fail و جزئیات اختیاری). این فایل‌های CSV داده‌های لازم برای Test سناریوهای مختلف را در خود دارند.