[S13L4] Testing Back End Flashcards

1
Q

Mit welcher DEV dependency kann man backend endpoints testen?

A

npm add supertest

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wie tested man einen Endpoint mit supertest?

A
const server = require('./server.js);
const requrest = require('supertest');

describe(‘GET /’, () => {
it(‘has process.env.DB_ENV as “testing’, () => {
expect(process.env.DB_ENV).toBe(‘testing’);
});

it('returns 200 OK'), () => {
return request(server).get('/')
.expect(200)
.expect('Content-Type', /json/')
.expect('Content-Length, '12')
.then(res => {
expect(res.body.api).toBe('up')
});
});
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist ein sanity test?

A

-Ein Sanity test bedeutet es wenn man absichtlich ein nicht erwartetes und falsches Ergebnis eingibt nur um zu sehen ob wirklich getestet wird und andere Ergebnisse Sinn machen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie kann supertests Daten in die Datenbring inserten?

A
const db = require('../data/dbConfig);
const Hobbits = require('./hobbitsModel');
describe('hobbits model', () => {
beforeEach(aync () => {
await db('hobbits').truncate();
});
describe('insert function', () => {
it('inserts hobbits into the db', () => {
let hobbitsNumber;
hobbitsNumber = await db('hobbits');
expect(hobbitsNumber).toHaveLength(0);
await Hobbits.insert({ name; 'Gaffer' )
hobbitsNumber = await db('hobbits');
expect(hobbitsNumber).toHaveLength(1);
});
});
});
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie kann man Jest initialisieren?

A

npx jest —init
Yes
No

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist Coverage in Testing?

A
  • Wieviel von dem Code wird von Tests ausgeführt?

- Alle if/else Abzweigungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Heißt 100% Coverage das der Code Fehlerfrei ist?

A
  • Nein, nur das es zumindest einen Test dafür gibt

- Dieser eine Test kann aber auch nicht reichen oder sogar falsch sein

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was macht “test”: “cross-env DB_ENV=testing jest –watch”, in Package.json?

A
  • Man möchte eine Environment Varable zu testing setzen

- Die Knex conig file muss die Environments aber kennen!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie schreibt man einen test für das Prüfen der DB_ENV Umgebungsvariable?

A

-

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was möchtest man testen?

A
  • Endpoints (routes): http status codes, format, body
  • Business Logic (functions)
  • Data Access Layer: functions, check the database
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie benutzt man Snippets?

A

F1
“snippets”
“javascript”
javascript.json bearbeiten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist TREST?

A

-Trust, but test

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was sind sanity tests?

A

-Jeden Test den man macht sollte man einmal fehlschlagen lassen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Kann man jest auch testen wenn der server nicht läuft?

A

Ja, jest macht es so, dass der Part der Applikation in Memory geladen wir und durchlaufen wird auch wenn der Server offline ist

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wasist der Unterschied zwischen .toBe() und toEqual?

A
  • ToBe checkt auf reference
  • ToEqual

{} !== {} weil die Referenzen anders sind der Objekte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wie migrated man eine bestimmte Umgebung für eine knex Datenbank?

A

npx knex migrate:latest –env testing

17
Q

Wann benutzt man Mocking?

A
  • Wenn man Dependencies zu externen APIs hat und nicht weiß wie diese sich verhalten
  • Dann kann man diese mocken und damit ihre Verhalten testen