プラグインでQunitテストが決定論的でない?

Qunit で競合状態が発生しているようです。具体的には、ブランチをインストールした状態で以下を実行しています。

rake \"plugin:qunit[discourse-multilingual]\"

イニシャライザーで関数を宣言しています(I18n を拡張しています)。

テストがプラグインの Ember イニシャライザーを実行する前に実行されることがあり(25%?)、関数が定義されていないために失敗します。

テストが実行される前にプラグインのイニシャライザー JS が実行されることを 保証 するにはどうすればよいですか?

テスト:

定義:

断続的なエラー:

TypeError: _I18n.default.translate_tag is not a function

OK、リファクタリングで解決しました。関数をI18nから既存の多言語モジュールに移動しました。

I18nをここで拡張することには、あらゆるシナリオ、特に単体テストにおいて信頼性が低いという問題があるようです。

「いいね!」 1