Ich schreibe Integrationstest für eine REST-API durch eine jwt
geschützt. Ein API /user/token
Betrieb POST ist die Rückkehr eines jwt
ein gegebenen username
und ein password
und dieses Token wird dann für eine Liste von Operationen wie verwendet:Super test, test sicher REST API
GET /user/:id
Wo die Route jwt({secret: secret.secretToken})
verwendet, so wird das Token enthält in der HTTP-Header Authorization
.
Beim Testen mit Super-Test kann ich Test verschachtelt haben, aber ich möchte zuerst das Token erhalten, dann dieses Token für andere Betriebstests verwenden.
POST /user/token => 12345
GET /user/:id, `Authorization Bearer 12345`
GET /user/:foo, `Authorization Bearer 12345`
Wie kann man vermeiden ein neues Token für jeden Betrieb Tests zu erzeugen (siehe unten), sondern verwenden nur ein einziger von POST/user/Token generieren.
it('should get a valid token for user: user1', function(done) {
request(url)
.post('/user/token')
.send({ _id: user1._id, password: user1.password })
.expect(200) // created
.end(function(err, res) {
// test operation GET /user/:id
festlegen, wie dies zu erreichen, wenn wir in ihnen mehrere Dateien und Ordner mit Unit-Tests verteilt haben, ohne den Token Wiederholung in jeder bekommen Datei? – nottinhill
@SirBenBenji Ich denke, Sie müssen nur den Haken definieren, so dass Sie es benötigen können, z. http://stackoverflow.com/a/10561632 würde funktionieren. Siehe auch https://github.com/mochajs/mocha/wiki/Shared-Behaviours – vesse