อัปเดต 3 : ตั้งแต่ Meteor 1.3 ดาวตกมีคู่มือการทดสอบพร้อมคำแนะนำทีละขั้นตอนสำหรับการทดสอบหน่วยการรวมการยอมรับและการโหลด
การปรับปรุงที่ 2 : ณ วันที่ 9 พฤศจิกายน 2015, Velocity จะไม่ได้รับการบำรุงรักษา Xolv.io จะมุ่งเน้นความพยายามของพวกเขาในจ๋อและกลุ่มพัฒนาดาวตกต้องเลือกกรอบการทดสอบอย่างเป็นทางการ
อัปเดต : Velocityเป็นโซลูชันการทดสอบอย่างเป็นทางการของ Meteor ที่ 0.8.1
ไม่ค่อยมีใครเขียนเกี่ยวกับการทดสอบอัตโนมัติกับ Meteor ในขณะนี้ ฉันคาดหวังว่าชุมชน Meteor จะพัฒนาแนวทางปฏิบัติที่ดีที่สุดในการทดสอบก่อนที่จะสร้างสิ่งใด ๆ ในเอกสารอย่างเป็นทางการ ท้ายที่สุดแล้ว Meteor ถึง 0.5 ในสัปดาห์นี้และสิ่งต่างๆยังคงเปลี่ยนแปลงอย่างรวดเร็ว
ข่าวดี: คุณสามารถใช้เครื่องมือทดสอบ Node.jsกับ Meteorได้
สำหรับโครงการ Meteor ของฉันฉันเรียกใช้การทดสอบหน่วยของฉันกับMochaโดยใช้Chaiเพื่อยืนยัน หากคุณไม่ต้องการชุดฟีเจอร์แบบเต็มของ Chai ขอแนะนำให้ใช้should.jsแทน ฉันมีการทดสอบหน่วยในขณะนี้แม้ว่าคุณจะสามารถเขียนการทดสอบการบูรณาการกับ Mocha ได้เช่นกัน
อย่าลืมทำการทดสอบของคุณในโฟลเดอร์ "การทดสอบ"เพื่อไม่ให้ Meteor พยายามทำการทดสอบของคุณ
Mocha รองรับCoffeeScriptซึ่งเป็นภาษาสคริปต์ที่ฉันเลือกสำหรับโครงการ Meteor นี่คือตัวอย่าง Cakefile ที่มีงานสำหรับเรียกใช้การทดสอบ Mocha ของคุณ หากคุณใช้ JS กับ Meteor อย่าลังเลที่จะปรับเปลี่ยนคำสั่งสำหรับ Makefile
โมเดล Meteor ของคุณจะต้องมีการปรับเปลี่ยนเล็กน้อยเพื่อเปิดเผยตัวเองกับ Mocha และสิ่งนี้ต้องใช้ความรู้เกี่ยวกับการทำงานของ Node.js คิดว่าไฟล์ Node.js แต่ละไฟล์ถูกเรียกใช้งานภายในขอบเขตของมันเอง Meteor จะเปิดเผยออบเจ็กต์ในไฟล์ที่ต่างกันโดยอัตโนมัติ แต่แอปพลิเคชัน Node ทั่วไปเช่น Mocha จะไม่ทำเช่นนี้ เพื่อให้โมเดลของเราทดสอบได้โดย Mocha ให้ส่งออกโมเดล Meteor แต่ละแบบด้วยรูปแบบ CoffeeScript ต่อไปนี้:
# Export our class to Node.js when running
# other modules, e.g. our Mocha tests
#
# Place this at the bottom of our Model.coffee
# file after our Model class has been defined.
exports.Model = Model unless Meteor?
... และที่ด้านบนของการทดสอบ Mocha ของคุณให้นำเข้าโมเดลที่คุณต้องการทดสอบ:
# Need to use Coffeescript's destructuring to reference
# the object bound in the returned scope
# http://coffeescript.org/#destructuring
{Model} = require '../path/to/model'
ด้วยวิธีนี้คุณสามารถเริ่มเขียนและเรียกใช้การทดสอบหน่วยด้วยโครงการ Meteor ของคุณได้!