表題について相談しています。jestにてvue-i18nを組み込んだコンポーネントのテストを書いています。
以下のような感じです。
- xxxx-test.js
import Vue from 'vue'; import store from '../xxx/store'; import i18n from '../xxx/i18n'; import TestTarget from '../TestTarget.vue'; // Test対象の$d,$t$nを使っているコンポーネント describe('TestTarget動作確認', () => { // 初期化 const Constructor = Vue.extend(TestTarget); const vm = new Constructor({ i18n, store }).$mount(); describe('表示ロジック(convertTransaction)確認', () => { it('プロモーションコード登録', () => { const result = vm.someMethod({input:'test data'}); expect(result.xxxxx).toBe('xxxxx'); expect(result.xxxxx).toBe('xxxxxx'); // 本当は '2020年1月9日'が期待値だが'2020 M01 9'と出てしまう // expect(result.createdAt).toBe('2020年1月9日'); expect(result.amount).toBe('¥ 0(税込)'); // `JP¥ 0(税込)`と出てしまう }); }); });
- ../xxx/i18n/index.js
import Vue from 'vue'; import VueI18n from 'vue-i18n'; const i18nObject = { "dateTimeFormats": { "ja": { "short": { "year": "numeric", "month": "short", "day": "numeric" }, "long": { "year": "numeric", "month": "short", "day": "numeric", "weekday": "short", "hour": "numeric", "minute": "numeric", "hour12": true } } }, "messages": { "ja": { /*省略*/ } } }; Vue.use(VueI18n); export default new VueI18n({ locale: 'ja', ...i18nObject, });
$tを使っている部分はうまく変換できていますが、$n,$dを使った場合はブラウザでの挙動とnodeの挙動が違うため困っています。
ブラウザの挙動と一致させたい場合はどうすればいいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。