Size: a a a

2020 August 13

S

Sergei in JS for testing
Может они не знают) юзают готовый фреймворк
источник

B

Bola in JS for testing
Оно само все делает. Magic)
источник

DC

Dmitry Croft in JS for testing
т.е. если контроллер будет обращаться к настоящему сервису, то это всё равно юнит тест?
источник

AP

Alexander Popov in JS for testing
Dmitry Croft
т.е. если контроллер будет обращаться к настоящему сервису, то это всё равно юнит тест?
Да
источник

DC

Dmitry Croft in JS for testing
Очень странно. А есть какие-то термины для того, чтобы описать случай когда вставляются фейковые сервисы и когда нет?
источник

DC

Dmitry Croft in JS for testing
Что-то мне кажется ты не прав. Если не инжектить фейк сервисы, то тогда и не только контроллер будет работать (unit), но и сервис (другой unit) и бд. А это уже похоже как раз на тестирование взаимодействия между компонентами программы
источник

A

Antony in JS for testing
Всем привет!
Кто использует Jest, может сталкивались с такой штукой

Failed: undefined

     208 |     });
     209 |
   > 210 |     test('Publish new NGWP Emergency alert', async () => {
         |     ^
     211 |         const timeout = ms('2m');
     212 |
     213 |         await kafkaClient.runConsumer(

     at Env.it (C:/Users/anton.husiev/AppData/Roaming/npm/node_modules/jest/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:89:24)
     at Suite.<anonymous> (api/specs/alert.spec.ts:210:5)
     at Object.<anonymous> (api/specs/alert.spec.ts:29:1)

как полечили?
источник

G

Genn in JS for testing
Может test не jest-овский?
источник

B

Bola in JS for testing
без кода непонятно
jest вроде и test поддерживает
источник

AG

Alex Grigurko in JS for testing
Antony
Всем привет!
Кто использует Jest, может сталкивались с такой штукой

Failed: undefined

     208 |     });
     209 |
   > 210 |     test('Publish new NGWP Emergency alert', async () => {
         |     ^
     211 |         const timeout = ms('2m');
     212 |
     213 |         await kafkaClient.runConsumer(

     at Env.it (C:/Users/anton.husiev/AppData/Roaming/npm/node_modules/jest/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:89:24)
     at Suite.<anonymous> (api/specs/alert.spec.ts:210:5)
     at Object.<anonymous> (api/specs/alert.spec.ts:29:1)

как полечили?
целиком бы  тест увидеть
источник

AG

Alex Grigurko in JS for testing
и версию jest тоже
источник

A

Antony in JS for testing
test('Publish existing NGWP Emergency alert for matterID', async () => {
       expect.hasAssertions()
       const timeout = ms('2m');

       await kafkaClient.runConsumer(
           StaticAlertGroupIdEnum.ACTION_ALERT_PUBLISHED_ID,
           TopicAlertEnum.ACTION_ALERT_PUBLISHED
       );
       await kafkaClient.runConsumer(
           StaticAlertGroupIdEnum.STATE_ALERT_PUBLISHED_ID,
           TopicAlertEnum.STATE_ALERT_PUBLISHED
       );

       const postResponse = await apiClient.post(ALERT_PATH.PUBLISH_ALERT, postAlertPublished);
       const alertEvent = postResponse.data;
       const publishedDiscoveryMatterID = postResponse.data.matterID;

       const actionRecord = await kafkaClient.getRecordInTopic({
           matterID: alertEvent.matterID,
           topic: TopicAlertEnum.ACTION_ALERT_PUBLISHED,
           timeout
       });

       const stateRecord = await kafkaClient.getRecordInTopic({
           matterID: alertEvent.matterID,
           topic: TopicAlertEnum.STATE_ALERT_PUBLISHED,
           timeout
       });

       expect(postResponse.status, 'Response status should be 201').toEqual(201);
       assertPostPublishedAlert(alertEvent);

       assertAlertEventInKafka(actionRecord, EventTypesAlertsEnum.ACTION_ALERT_PUBLISHED);
       assertAlertEventInKafka(stateRecord, EventTypesAlertsEnum.STATE_ALERT_PUBLISHED);

       const key = RedisKeyPrefixEnum.NGWP_ALERT_LATEST + alertEvent.matterID;
       const ifKeyExistInRedis = await redisClient.ifKeyExistsInTimeout(key, ms('10s'));

       expect(ifKeyExistInRedis, Key ${key} should be present in Redis).toBeTrue();

       const objRedis = await redisClient.getObject(key);
       assertPublishedAlertInRedis(stateRecord, objRedis, TenantsEnam.SINCLAIR);

       const getResponse = await apiClient.get(ALERT_PATH.GET_PUBLISHED_ALERTS_BY_MATTER_ID, alertEvent.matterID);
       const publishedAlert = getResponse.data;

       expect(getResponse.status).toEqual(200);
       assertGetPublishedAlertByMatterID(publishedAlert, TenantsEnam.SINCLAIR);

       const discoveryAlert = await apiClient.get(ALERT_PATH.GET_PUBLISHED_ALERT_DISCOVERY_BY_MATTER_ID,
           publishedDiscoveryMatterID);

       expect(discoveryAlert.status, 'Response status should be 200').toEqual(200);
источник

A

Antony in JS for testing
"jest": "^25.2.4",
источник

AG

Alex Grigurko in JS for testing
Что это за текст
источник

AG

Alex Grigurko in JS for testing
expect(discoveryAlert.status, 'Response status should be 200').toEqual(200);
источник

AG

Alex Grigurko in JS for testing
Response status should be 200
источник

A

Antony in JS for testing
assertPublishedAlertInRedis это метод содержащий expectы
источник

AG

Alex Grigurko in JS for testing
а это expect не jest a?
источник

A

Antony in JS for testing
jest-extended вроде
источник

A

Antony in JS for testing
да
источник