名前空間: jasmine

jasmine

jasmineグローバルのメンバー。

注:asymmetricEqualityTesters 名前空間のメンバーもjasmineグローバルを通してアクセスされますが、jsdocの制限のため、ここにはリストされていません。

メンバー

(static) DEFAULT_TIMEOUT_INTERVAL

非同期の spec、before、または after 関数が完了するまで Jasmine が待機するデフォルトのミリ秒数。これは、itbeforeEachafterEachbeforeAll、または afterAll の 3 番目の引数として時間制限を渡すことで、ケースごとにオーバーライドできます。値は、setTimeout でサポートされる最大のミリ秒数(通常は 2147483647)を超えてはなりません。

テストをデバッグする場合、Jasmine がデバッグ中に after 関数や次の spec に進まないように、これを大きな数値に設定する(または、上記の関数のいずれかに大きな数値を渡す)とよいでしょう。

Since
  • 1.3.0
デフォルト値
  • 5000

(static) MAX_PRETTY_PRINT_ARRAY_LENGTH

オブジェクトを pretty printing する際に表示する配列要素の最大数。これは、オブジェクトに対して表示されるキーと値の数も制限します。この数を超える要素は省略されます。

Since
  • 2.7.0
デフォルト値
  • 50

(static) MAX_PRETTY_PRINT_CHARS

オブジェクトを pretty printing する際に表示する最大文字数。この数を超える文字は省略されます。

Since
  • 2.9.0
デフォルト値
  • 100

(static) MAX_PRETTY_PRINT_DEPTH

pretty printer が出力するオブジェクトの最大深度。大きなオブジェクトがある場合は、pretty printing を高速化するために、これをより低い値に設定してください。

Since
  • 1.3.0
デフォルト値
  • 8

メソッド

(static) addAsyncMatchers(matchers)

現在のスコープの spec にカスタムの非同期マッチャーを追加します。

注: これは、beforeEachit、または beforeAll の内部からのみ呼び出すことができます。

パラメータ
名前 説明
matchers Object

このオブジェクトのキーは、新しい非同期マッチャー名になります。

Since
  • 3.5.0
参照

(static) addCustomEqualityTester(tester)

現在のスコープの spec にカスタムの等価性テスターを追加します。

注: これは、beforeEachit、または beforeAll の内部からのみ呼び出すことができます。

パラメータ
名前 説明
tester function

比較する 2 つの引数を取り、それらを比較する方法を知っている場合は true または false の比較結果を返し、それ以外の場合は undefined を返す関数。

Since
  • 2.0.0
参照

(static) addCustomObjectFormatter(formatter)

現在のスコープの spec にカスタムのオブジェクトフォーマッタを追加します。

注: これは、beforeEachit、または beforeAll の内部からのみ呼び出すことができます。

パラメータ
名前 説明
formatter function

フォーマットする値を取り、そのフォーマット方法を知っている場合は文字列を返し、それ以外の場合は undefined を返す関数。

Since
  • 3.6.0
参照

(static) addMatchers(matchers)

現在のスコープの spec にカスタムマッチャーを追加します。

注: これは、beforeEachit、または beforeAll の内部からのみ呼び出すことができます。

パラメータ
名前 説明
matchers Object

このオブジェクトのキーは、新しいマッチャー名になります。

Since
  • 2.0.0
参照

(static) addSpyStrategy(name, factory)

現在のスコープの spec にカスタムのスパイ戦略を追加します。

注: これは、beforeEachit、または beforeAll の内部からのみ呼び出すことができます。

パラメータ
名前 説明
name String

戦略の名前 (and から呼び出すもの)

factory function

実行するプランを返すファクトリ関数。

Since
  • 3.5.0

(static) clock() → {Clock}

この Jasmine 環境用に現在起動されているモック {Clock} を取得します。

Since
  • 2.0.0
戻り値
Clock

(static) createSpy(nameopt, originalFnopt) → {Spy}

生の Spy オブジェクトを作成します。これはどこにもインストールされず、背後に実装もありません。

パラメータ
名前 属性 説明
name String <オプション>

スパイに付ける名前。これは失敗メッセージに表示されます。

originalFn function <オプション>

「実際の」関数。これは、mySpy.and.callThrough() を呼び出した後のスパイへの後続の呼び出しに使用されます。ほとんどの場合、このパラメータは省略する必要があります。元の関数を提供するための通常の方法は、createSpy の代わりに spyOn を呼び出すことです。

Since
  • 1.3.0
戻り値
Spy

(static) createSpyObj(baseNameopt, methodNames, propertyNamesopt) → {Object}

複数の Spy をメンバーとするオブジェクトを作成します。

パラメータ
名前 属性 説明
baseName String <オプション>

オブジェクト内のスパイのベース名。

methodNames Array.<String> | Object

スパイを作成するメソッド名の配列、またはキーがメソッド名で値が returnValue のオブジェクト。

propertyNames Array.<String> | Object <オプション>

スパイを作成するプロパティ名の配列、またはキーがプロパティ名で値が returnValue のオブジェクト。

Since
  • 1.3.0
戻り値
Object

(static) debugLog(msg)

デバッグで使用するメッセージをログに記録します。spec が失敗した場合、トレースメッセージは、レポーターの specDone メソッドに渡される result に含まれます。

このメソッドは、spec (関連する beforeEach または afterEach 関数を含む) が実行中の場合にのみ呼び出す必要があります。

パラメータ
名前 説明
msg String

ログに記録するメッセージ

Since
  • 4.0.0

(static) getEnv() → {Env}

現在起動されている Jasmine 環境を取得します。

Since
  • 1.3.0
戻り値
Env

(static) isSpy(putativeSpy) → {Boolean}

提供された関数が Jasmine スパイであるかどうかを判断します。

パラメータ
名前 説明
putativeSpy function

チェックする関数。

Since
  • 2.0.0
戻り値
Boolean

(static) setDefaultSpyStrategy(defaultStrategyFn)

現在のスコープの spec のデフォルトのスパイ戦略を設定します。

注: これは、beforeEachit、または beforeAll の内部からのみ呼び出すことができます。

パラメータ
名前 説明
defaultStrategyFn function

戦略を割り当てる関数

beforeEach(function() {
  jasmine.setDefaultSpyStrategy(and => and.returnValue(true));
});

(async, static) spyOnGlobalErrorsAsync(fn)

Jasmine のグローバルエラー処理をスパイに置き換えます。これにより、Jasmine がキャッチされない例外と処理されない Promise の拒否を spec の失敗として扱うことを防ぎ、スパイの calls プロパティ および toHaveBeenCalledWith などの関連するマッチャーを使用して検査できるようになります。

スパイをインストールした後、spyOnGlobalErrorsAsync は引数である非同期または Promise を返す関数をすぐに呼び出します。スパイは、そのコールバックへの最初の引数として渡されます。コールバックから返された Promise が確定すると、通常のエラー処理が復元されます。

JavaScript ランタイムがキャッチされないエラーまたは処理されない拒否を報告すると、スパイはエラーを記述するための Jasmine の最善の試みを表す単一のパラメータで呼び出されます。JavaScript では、Promise が拒否される理由として、エラーインスタンスと文字列が最も一般的ですが、任意のものを使用できるため、このパラメータは任意の型である可能性があります。

注:JavaScript ランタイムは、特にブラウザでは、キャッチされないエラーイベントと処理されない拒否イベントを非同期的に配信する場合があります。コールバックから返された Promise が確定した後にイベントが発生した場合、基になるエラーが以前に発生していたとしても、スパイにルーティングされません。処理したいすべてのエラー/拒否イベントが、コールバックから返された Promise を解決する前に発生していることを確認するのはあなたの責任です。

spyOnGlobalErrorsAsync を呼び出した it/beforeEach/etc fn が、spyOnGlobalErrorsAsync によって返された Promise が解決されるまで完了を通知しないようにする必要があります。通常、これは返された Promise を await することで行われます。それをインストールした it/beforeEach/etc fn が完了を通知した後にグローバルエラー スパイをインストールしたままにすると、問題が発生する可能性が高く、サポートされていません。

パラメータ
名前 説明
fn AsyncFunction

グローバルエラー スパイが有効になる実行中の関数

it('demonstrates global error spies', async function() {
  await jasmine.spyOnGlobalErrorsAsync(async function(globalErrorSpy) {
    setTimeout(function() {
      throw new Error('the expected error');
    });
    await new Promise(function(resolve) {
      setTimeout(resolve);
    });
    const expected = new Error('the expected error');
    expect(globalErrorSpy).toHaveBeenCalledWith(expected);
  });
});