Ich bin neu im Knoten und verwende das node.js-Modul request, um eine HTTP-Anforderung an Google auszulösen.Knotenanforderungsmodul erhält während des Tests keine Antwort
Ich benutze dann die Test-Bibliothek Chai, um zu testen, ob die HTTP-Anfrage erfolgreich war. Der Test scheitert und ich kann nicht für das Leben von mir verstehen warum.
Der Code ist unten:
//validator.js
var request = require('request')
export function validateWeb(website) {
request('http://www.google.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log("Inside the successful callback!") //not being printed
return response.statusCode
}
})
}
Der Test ist unten:
//validator_spec.js
import {validateWeb} from '../src/validator'
describe ('Validator',() => {
describe ('correctly validates',() => {
it('existing site',() => {
const site = "http://www.google.com"
var result = validateWeb(site)
expect(result).to.equal(200)
})
})
})
Was bin ich? Der Test selbst läuft und läuft, wenn ich npm test
ausführen (aber die Assertion ist fehlgeschlagen).
Die Behauptung wird immer noch scheitern. Ein einfaches "GET" zu http://www.google.com wird eine Antwort mit HTTP-Status: 302 erhalten. –
@NehalJWani Die Bibliothek 'request' folgt standardmäßig Weiterleitungen. – idbehold
Oh. Aha. Wusste das nicht. –