スコーピングJest試験
これまでのところ、我々は最高レベルで実行しているテストを見ました.すべてのテストは基本的に同じスコープです.
しかし、Jestは私たちにスコープダウンするオプションを与えます.これは、定期的なテストのセットアップのための超簡単にすることができます.
例えば、前の記事ではJest recurring actions , スコープの使用の主要な例です.
Jestでスコープを定義するには、
たとえば、このスコープでは独自のアクションを取得できます.これらの定義されたアクションはこのスコープでのみ起動されます.
しかし、グローバルスコープ定義のアクションも発射されます!
例えば、パブリックデータベースを持っているとしましょうが、1つのセクションでは、趣味のデータベースを適用したいと思います.
前に それぞれの前に ユーザーテスト それぞれの後に それぞれの前に 各々の前に ホビーテスト 毎回(趣味の範囲) それぞれの後に 結局 ご存知のように、実行の完全な謎が、それを見ることが不可欠です
スコープは、使用する変数を定義して上書きするためにも使用できます.
たとえば、テストケースを書きたい場合には、ログインするユーザが異なるかもしれません.
新しいユーザの追加: 1 新しい趣味を加えること:2 私はこれがあなたにスコープスコープのテストブロックを定義する優れた最初の導入を与えることを願っています.
私のブログを読んでくれてありがとう.私の電子メール会報を購読して、接続してくださいFacebook or
しかし、Jestは私たちにスコープダウンするオプションを与えます.これは、定期的なテストのセットアップのための超簡単にすることができます.
例えば、前の記事ではJest recurring actions , スコープの使用の主要な例です.
スコープの定義
Jestでスコープを定義するには、
describe
すべてのテストをラップする機能.describe('user related actions', () => {
test('Create new user', () => {
expect(createUser('Chris', 'p4sSw0rD')).toBe(true);
});
test('Update user', () => {
expect(updateUser(1, 'Chris new name')).toBe(true);
});
});
さて、これらの2つのテストは、このスコープ内で実行されます.また、それを整理するのに最適ですが、我々はこのスコープのいくつかの利点を得る.たとえば、このスコープでは独自のアクションを取得できます.これらの定義されたアクションはこのスコープでのみ起動されます.
しかし、グローバルスコープ定義のアクションも発射されます!
例えば、パブリックデータベースを持っているとしましょうが、1つのセクションでは、趣味のデータベースを適用したいと思います.
beforeAll(() => {
return createDatabase();
});
beforeEach(() => {
return populateUsers();
});
afterEach(() => {
return clearUsers();
});
afterAll(() => {
return removeDatabase();
});
test('Add a new user', () => {
expect(addUser('Chris')).toBe(true);
});
describe('hobby related tasks', () => {
beforeEach(() => {
return populateHobbies();
});
beforeEach(() => {
return clearHobbies();
});
test('Add a new hobby', () => {
expect(addHobby(1, 'Photography')).toBe(true);
});
});
このコードを実行し、何が起こるかを見てみましょう.before each
and after each
発火.スコープは、使用する変数を定義して上書きするためにも使用できます.
たとえば、テストケースを書きたい場合には、ログインするユーザが異なるかもしれません.
describe('user related tasks', () => {
const loggedUser = 1;
test('Add a new user', () => {
console.log(`adding new user: ${loggedUser}`);
});
});
describe('hobby related tasks', () => {
const loggedUser = 2;
test('Add a new hobby', () => {
console.log(`adding new hobby for: ${loggedUser}`);
});
});
ご覧の通り、我々はloggedUser
2回、このシーケンスの出力は予想通りになります.読んでいただきありがとうございます、接続しましょう!
私のブログを読んでくれてありがとう.私の電子メール会報を購読して、接続してくださいFacebook or
Reference
この問題について(スコーピングJest試験), 我々は、より多くの情報をここで見つけました https://dev.to/dailydevtips1/scoping-jest-tests-1d56テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol