javascript - ייבוא מחלקת Typescript לבדיקות Jasmine (שגיאת אינו בנאי)
אם יש לי מחלקה מוגדרת בקובץ TypeScript (DateTimeConverter.ts):
export class DateTimeConverter{
constructor(){
}
//Other methods
}
ואז אני רוצה לייבא את המחלקה הזו כדי לבצע כמה בדיקות יחידה ב-Jasmine, אז בספק שלי אני מייבא אותה:
var DateTimeConverter = require('../path/to/DateTimeConverter');
למה אני לא יכול להשתמש במחלקה הזו בבדיקת היחידה שלי:
var timeConverter = new DateTimeConverter();
כאשר אני מריץ את הבדיקות שלי, Jasmine נותנת שגיאה:
TypeError: DateTimeConverter אינו קונסטרקטור
איך אני יכול לכלול את המחלקה הזו בבדיקות שלי כדי שאוכל לבדוק את הפונקציונליות שלה?
תשובה #1
אז פיצחתי את זה וחשבתי לפרסם את התשובה במקרה שמישהו אחר נתקע על זה. כשאתה מייבא את הספריה, אין לך (כנראה באופן מובן) גישה ישירה למחלקה, אלא קישור אליה:
var DateTimeConverterLib = require('../path/to/DateTimeConverter');
אתה יכול לאחר מכן ליצור מופע שלה:
var timeConverter = new DateTimeConverterLib.DateTimeConverter();
ואז קרא לכל הפונקציות עליו כפי שהיית עושה בדרך כלל:
var result = timeConverter.MyAwesomeTimeFunction();
עובד כקסם וכל הבדיקות שלי עכשיו עוברות :)
מקווה שזה יעזור למישהו
