Node.js と Express フレームワークを学んでいます。私はジャスミンの大ファンです。そのため、可能な限りジャスミンを使用したいと考えていますが、ジャスミンで Express をテストする良い方法が見つかりません。たとえば、app.js でルートをテストするにはどうすればよいですか?
app.js にこのルートがある場合:
app.get('/', function(req, res) {
...
});
ジャスミンを使用してテストするにはどうすればよいですか?
Jasmine-nodeを使用すると、node.js で jasmine を簡単に使用できます。彼らのサイトにいくつかの例があります。別の例は、http: //blog.drewolson.org/post/14684497867/web.archive.orgにあります。
http://frisbyjs.com/を試してください。
使用する機会はありませんでしたが、同じ問題の解決策を探していたので、これが最高でした。
簡単な例を次に示します。
var request = require('supertest')
, express = require('express');
var app = express();
app.get('/user', function(req, res){
res.send(200, { name: 'toto' });
});
describe('GET /user', function(){
it('should respond with json', function(done){
request(app)
.get('/user')
.set('Accept', 'application/json')
.expect('Content-Type', 'json')
.expect(200, done);
})
})
Jasmine で supertest-as-promised を試すことができます。それは私のために働いています: https://github.com/WhoopInc/supertest-as-promised
ここではいくつかの例を示します。
ジャスミンでスーパーテストを使用できますが、手動でエラーを渡す必要があります。これについては、少し前に GitHub プロジェクトの問題が公開されました。