Ich begann heute mit Jasmine zu testen, was neu für mich ist. Da ich mit einem GraphQL-Server arbeite, der mit NodeJS entwickelt wurde, verwende ich jasmine-node
.Jasmine-node expect nicht ausgeführt
Das folgende ist mein erstes spec ich mich schreiben, und ich dachte, es funktioniert:
const request = require('request');
const config = require('../sources/config');
const base_url = `http://localhost:${config.graphqlPort}/${config.graphqlRoute}`;
describe("GraphQLServer.",() => {
it("Should expect something.",() => {
expect(1).not.toEqual(2);
expect(1).toEqual(1);
expect(true).toBe(true);
expect(false).not.toBe(true);
});
describe('When request is made.',() => {
it('Returns statuscode 200.',() => {
request.get(base_url, (error, response, body) => {
console.log('Error: ', error);
console.log(base_url);
console.log('StatusCode: ', response && response.statusCode);
console.log('Body:', body);
expect(true).toBe(true);
expect(true).toBe(false);
expect(response.statusCode).toBe(200);
expect(response.statusCode).toBe(400);
done();
});
});
});
});
Dies ergibt folgendes Ergebnis:
..
Finished in 0.018 seconds
2 tests, 4 assertions, 0 failures, 0 skipped
Error: null
http://localhost:8000/graphql
StatusCode: 400
Body: {"errors":[{"message":"Must provide query string."}]}
Zu viel, wenn dies ist genau das, was ich erwarte, . Ich mache eine Anfrage ohne eine Abfrage-Zeichenfolge, so dass die Fehler im Text erwartet werden. Das Problem ist: die 4 nutzlos (offensichtlich) expects
innerhalb it("Should expect something")
funktionieren gut. Das sind die 4 assertions
im Ergebnis. Die anderen 4 expect
's innerhalb it("Returns statuscode 200.")
sind einfach nicht im Ergebnis (sie nicht versagen und sie nicht bestehen), aber die console.log
' s sind.
Jedes Beispiel, das ich online finde, scheint genau das zu tun, was ich hier mache, aber ich schaffe es nicht, dies zur Arbeit zu bringen.
Vielen Dank Kev! Ich habe diesen dummen Fehler wirklich nicht gesehen. Ich muss zugeben, dass ich erst vor ein paar Wochen mit der Entwicklung von Javascript begonnen habe, daher denke ich, dass mir die Erfahrung fehlt, solche Fehler schnell zu finden. Javascript hilft nicht gerade mit seiner Angewohnheit, keinen Fehler zu geben, ist es nicht nötig;). Aber vielen Dank! – Kenny
Gern geschehen! Es ist wahr, viele JS-Kontexte ergeben die schlechteste Rückmeldung für Fehler, manchmal kann es wirklich ärgerlich sein. Freut mich zu helfen! – Kev