user.test.js内のuser.service.jsのメソッドをテストするためにユニットテストケースを作成していますが、テストケースの数が増えるとこのエラーが発生します: "Error:Timeout非同期テストとフックの場合、 "done()"が呼び出されていることを確認し、プロミスを返す場合は解決することを確認してください。 "2000msのタイムアウトを超えました。非同期テストとフックでは、 "done()"が呼び出されていることを確認してください。プロミスを返す場合は、解決することを確認してください。
ここで私は最低限必要なファイルへのplunkerリンク付けしています:
https://plnkr.co/edit/3us5ja?p=info
describe('testing', function() {
describe('random test cases 1', function() {
it('Get all contacts 1', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' +
JSON.stringify(result));
});
});
it('Get all contacts 2', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' + JSON.stringify(result));
});
});
it('Get all contacts 3', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' + JSON.stringify(result));
});
});
});
describe('random test cases 2', function() {
it('Get all contacts 21', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' + JSON.stringify(result));
});
});
it('Get all contacts 22', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' + JSON.stringify(result));
});
});
it('Get all contacts23', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' + JSON.stringify(result));
});
});
});
describe('random test cases 3', function() {
it('Get all contacts 31', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' + JSON.stringify(result));
});
});
it('Get all contacts 32', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' + JSON.stringify(result));
});
});
it('Get all contacts 33', function() {
return contactService.getAll((result) => {
//console.log('all contact data: ' + JSON.stringify(result));
});
});
});
});
のファイルの一部はここでは関係ありません。私が試したことは、次のとおりです。
1)すべてのテストケースでタイムアウトがオーバーライドされ、テストケースが少なくても同じ問題に直面しています。
2)すべてのテストケースでdone()を呼び出しました。
3)package.jsonに記載されているコマンド行で、タイムアウトを設定しました。
私はDAOから約束を返す。ですから、約束が解決されたら、私たちは予測できません。また、テストケースの順序も予測できないため、テストスイートまたは個別のテストケースについてもタイムアウトを増やすことはできません。他のサービスのテストケースもいくつかあります。だから、この問題を解決する方法はありますか?
私を助けることを願っていますここに例を投稿してください。それがあなたを助けることを願っています:https://delwar20.wordpress.com/2017/12/29/using-sinon-to-stub-mongoose-calls-and-return-promise/ – Delwar