私は、HTTP REST APIに基づいてWebアプリケーションのテストをいくつか作成しようとしています。私はGETリクエストでPOSTリクエストを通してアップロードされた内容を確認するために使用しました。しかし、私は他のリクエストを使ってリクエストをテストしたことに気付きました。言い換えれば、私のテストはほとんどの場合お互いに依存していました。このような状況のため、API仕様を変更するたびに、間接的に影響を受けるすべてのテストを変更する必要がありました。例えばPOSTリクエスト後に投稿内容を確認する必要がありますか?
、
testGetA() =>
expect(app.get('/A')).to.have.json('this', '{"foo":"bar"}')
testPostA() => {
expect(app.delete('/A')).to.have.status(200)
expect(app.post('/A', '{"foo":"bar"}')).to.have.status(200)
expect(app.get('/A')).to.have.json('this', '{"foo":"bar"}')
}
testPostA
は、投稿を削除し、resource A
転記テストするために順次GETを使用します。しかし、GET /A
の仕様を変更してが{"foo":"barzoo"}
と応答する場合、testGetA
だけでなく、testPostA
も変更する必要があります。
あなたはどの言語であなたが使っているテストスイートを教えてください。 – DaSourcerer
@DaSourcerer現在、私はWebアプリケーションを持っていません。私はJava、JUnit、Mockitoを使用していました。しかし今回は、Javascript、Mocha、Chai、[Chakram](http://dareid.github.io/chakram/jsdoc/index.html)の使用を考えています。 – dyong