مرجع سريع

ورقة غش مكتبة التوكيدات Expect.js

دليل مرجعي سريع لمكتبة توكيدات Expect.js: التثبيت، التوكيدات الأساسية، التوكيدات المتسلسلة ودوال المراقبة Spies مع التحقق من الاستدعاء.

· تاريخ النشر

Expect هي مكتبة توكيدات لاختبار تطبيقات جافا سكريبت بصيغة برمجية نظيفة ودعم مدمج لدوال المراقبة Spies.

طريقة الاستخدام والتثبيت (Usage)

npm install --save-dev expect
// استخدام وحدات ES6
import expect, { createSpy, spyOn, isSpy } from 'expect'
// استخدام وحدات CommonJS
var expect = require('expect')
var createSpy = expect.createSpy
var spyOn = expect.spyOn
var isSpy = expect.isSpy

قائمة التوكيدات (Assertions)

expect(x).toBe(y)
  .toBe(val)
  .toEqual(val)
  .toThrow(err)
  .toExist()          // aka: toBeTruthy()
  .toNotExist()       // aka: toBeFalsy()
  .toBeA(constructor)
  .toBeA('string')
  .toMatch(/expr/)
  .toBeLessThan(n)
  .toBeGreaterThan(n)
  .toBeLessThanOrEqualTo(n)
  .toBeGreaterThanOrEqualTo(n)
  .toInclude(val)     // aka: toContain(val)
  .toExclude(val)
  .toIncludeKey(key)
  .toExcludeKey(key)

التوكيدات المتسلسلة (Chained Assertions)

يمكن ربط التوكيدات معا بشكل متسلسل وأنيق:

expect(3.14)
  .toExist()
  .toBeLessThan(4)
  .toBeGreaterThan(3)

دوال المراقبة (Spies)

const video = {
  play: function () { /* ... */ }
}
spy = expect.spyOn(video, 'play')
spy = expect.spyOn(video, 'play')
  .andCallThrough()      // تمرير التنفيذ للدالة الأصلية
  .andCall(fn)
  .andThrow(exception)
  .andReturn(value)

التوكيدات على دوال المراقبة (Assertions on Spies)

expect(spy.calls.length).toEqual(1)
expect(spy.calls[0].context).toBe(video)
expect(spy.calls[0].arguments).toEqual([ 'some', 'args' ])
expect(spy).toHaveBeenCalled()
expect(spy).toHaveBeenCalledWith('some', 'args')

مراجع ذات صلة

موضوعات ذات صلة