[S13L4] Testing Back End Flashcards
Mit welcher DEV dependency kann man backend endpoints testen?
npm add supertest
Wie tested man einen Endpoint mit supertest?
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') }); });
Was ist ein sanity test?
-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
Wie kann supertests Daten in die Datenbring inserten?
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); }); }); });
Wie kann man Jest initialisieren?
npx jest —init
Yes
No
Was ist Coverage in Testing?
- Wieviel von dem Code wird von Tests ausgeführt?
- Alle if/else Abzweigungen
Heißt 100% Coverage das der Code Fehlerfrei ist?
- Nein, nur das es zumindest einen Test dafür gibt
- Dieser eine Test kann aber auch nicht reichen oder sogar falsch sein
Was macht “test”: “cross-env DB_ENV=testing jest –watch”, in Package.json?
- Man möchte eine Environment Varable zu testing setzen
- Die Knex conig file muss die Environments aber kennen!
Wie schreibt man einen test für das Prüfen der DB_ENV Umgebungsvariable?
-
Was möchtest man testen?
- Endpoints (routes): http status codes, format, body
- Business Logic (functions)
- Data Access Layer: functions, check the database
Wie benutzt man Snippets?
F1
“snippets”
“javascript”
javascript.json bearbeiten
Was ist TREST?
-Trust, but test
Was sind sanity tests?
-Jeden Test den man macht sollte man einmal fehlschlagen lassen
Kann man jest auch testen wenn der server nicht läuft?
Ja, jest macht es so, dass der Part der Applikation in Memory geladen wir und durchlaufen wird auch wenn der Server offline ist
Wasist der Unterschied zwischen .toBe() und toEqual?
- ToBe checkt auf reference
- ToEqual
{} !== {} weil die Referenzen anders sind der Objekte