플러그인에서 Qunit 테스트가 비결정적인가요?

Qunit에서 레이스 컨디션(race condition)에 직면한 것 같습니다. 제 경우를 말씀드리면, 다음과 같이 실행 중입니다:

rake "plugin:qunit[discourse-multilingual]"를 설치된 브랜치로 실행하고 있습니다.

저는 이니셜라이저(initializer)에서 함수를 선언하고 있습니다. (I18n을 확장하고 있습니다)

테스트가 간헐적으로(25% 정도?) 플러그인의 Ember 이니셜라이저가 실행되기 전에 실행되어 함수가 정의되지 않아 실패하는 것 같습니다.

테스트가 실행되기 전에 플러그인의 이니셜라이저 JS가 실행되었는지 _확보_하는 방법은 무엇인가요?

테스트:

정의:

간헐적 오류:

TypeError: _I18n.default.translate_tag is not a function

OK, 리팩토링으로 해결했습니다. 함수를 I18n에서 기존 다국어 모듈로 옮겼습니다.

I18n을 확장하는 방식은 모든 시나리오에서 신뢰할 수 없었던 것 같습니다. 특히 단위 테스트에서는 더더욱 그렇죠!