جافاسكريبت - كيفية اختبار إجراء تسجيل الدخول في Firebase (React/Jest)

أحاول إنشاء اختبار سيتحقق مما إذا كان قد تم استدعاء signIn، ثم يستمر إلى اختبار دالتي success وerror.

أنا أستخدم حزمة firebase-mock هنا: https://github.com/soumak77/firebase-mock/blob/master/tutorials/auth/authentication.md

فيما يلي إجراء تسجيل الدخول الخاص بي

// Sign in action export const signIn = (email, password, redirectUrl = ROUTEPATH_DEFAULT_PAGE) => (dispatch) => { dispatch({ type: USER_LOGIN_PEN

اقرأ أكثر →

جافا سكريبت - تعارض بين سكريبت React وإصدار Jest 24.7.1

بعد إنشاء تطبيق React باستخدام 'create-react-app'، كانت الأمور ناجحة حتى الآن. لقد أنشأت مشروع React يعمل بشكل جيد. لكن الآن، عندما أنظر إلى تنفيذ اختبارات الوحدة باستخدام Jest.

باستخدام npm للتثبيت: 'npm install --save-dev jest' ثم تشغيل: npm ls jest لاحظت أن react-script يبحث عن إصدار من jest أقدم بكثير.

package.json:

"dependencies": { "react": "^16.8.1", "react-dom": "^16.8.1", "react-redux": "^6.0.0", "react-scripts": "2.1.5", "redux": "^4.0.1" }, "devDependenci

اقرأ أكثر →

جافاسكريبت - مشكلة مع سترايكر وجيست

أنا أقوم باختبار Stryker باستخدام Jest. يبدو أن Stryker لا يطبق اختبار Jest.

المتحوّران لا ينجحان في الاختبار إذا قمت بإدخالهما يدويًا في الكود، لكنهما ينجحان عندما أستخدم Stryker.

يبدو أن الاختبار لا يعمل على الطفرات. كيف يمكنني جعله يعمل؟

إليك تكويني:

package.json :

{ "name": "test-stryker", "version": "1.0.0"

اقرأ أكثر →

جافاسكريبت - لماذا تفشل اختبارات Jest هذه؟ TypeError: لا يمكن قراءة الخاصية 'apply' من undefined

لدي مكونان/اختباران Login.js و Routes.js وكلاهما يحتويان على نفس الخطأ:

TypeError: لا يمكن قراءة الخاصية 'apply' من غير معرّف

لست متأكدًا مما يُحاول تطبيقه هنا...

المكونات

اقرأ أكثر →

جافاسكريبت - React-Redux/Jest انتهاك ثابت: لم يتم العثور على "المخزن"

لدي ملف اختبار بسيط مُعد وهو تقريبًا مشابه جدًا للملف المستخدم في create-react-app:

App.test.js

import React from 'react'; import ReactDOM from 'react-dom'; import { App } from './App'; it('renders without crashing', () => { const div = document.createElem

اقرأ أكثر →

جافا سكريبت - اختبار الكود غير المتزامن في Jest: لم يتم استدعاء done() كما هو متوقع

إليك مجموعة اختبار مكتوبة بـ Jest (الإصدار 20.0.4).

الاختبارات الثلاثة الأولى سلوك متوقع، سؤالي يتعلق بالاختبار الرابع.

test('Test1: the list should contain 7', () => { const data = [1, 2, 7, 9]; expect(data).toContain(7); }); // > Passes as expecte

اقرأ أكثر →

جافاسكريبت - Jest لا يعمل مع util.promisify(setTimeout)

أنا على علم بوجود الكثير من الأسئلة المماثلة على SO، لكنني أعتقد أن سؤالي مختلف ولم يتم الرد عليه بأي من الإجابات الحالية.

أنا أقوم باختبار REST API في Express.JS. أدناه مثال عملي مبسط والعديد من حالات الاختبار المرقمة المختلفة.

const express = require("express"); let request = require("supertest");

اقرأ أكثر →

جافاسكريبت - هل يترك Jest مقبضًا مفتوحًا عند استخدام exec في Node؟

لدي هذه الدالة التي أستخدمها لاستدعاء سكربت القائد:

function cli(args, cwd) { return new Promise(resolve => { exec( `node ${path.resolve("./index")} ${args.join(" ")}`, { cwd }, (error, stdout, stderr) => { resolve({ code: error && error.code ? er

اقرأ أكثر →

جافا سكريبت - jest.setTimeout لا يعمل في setupFiles

أنا أستخدم Jest لاختبار واجهة برمجة التطبيقات الخاصة بي. معظم نقاط نهاية واجهة برمجة التطبيقات الخاصة بي تستغرق أكثر من 5 ثوانٍ للرد، لذلك أحتاج إلى زيادة المهلة الافتراضية البالغة 5000 مللي ثانية المحددة في Jest.

لدي ملفا اختبارين، على سبيل المثال: foo.test.js و bar.test.js

الآن، يمكنني التخلص من خطأ انتهاء المهلة باتباع طريقتين:

  1. تعيين قيم مهلة أكبر من 5000، كالحجة الثالثة لطرق test أو it. هذا يعمل بشكل جيد، لكني بحاجة إلى تحديث جميع حالات الا

    اقرأ أكثر →

جافاسكريبت - كيفية استخدام Jest/Puppeteer للانتظار حتى يتم إزالة عنصر من DOM

ملخص المشكلة: أنا أكتب عدة مجموعات اختبار (باستخدام Jest و Puppeteer) لأتمتة اختبارات صفحة البداية لتطبيقي AngularJS. أحد الاختبارات التي أود أتمتتها هو قيام المستخدم بالضغط على زر في الصفحة يحذف عنصرًا في DOM. للأسف، يُستخدم هذا العنصر ل

اقرأ أكثر →