Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

概要 Vue.js+Vuexを利用したカウンターアプリのテストクラスを作成します。テストツールはJestを使用。 この記事では、カウンターアプリのテストとして適切であるかという点よりも、Vue.js+Vuexのテストのサンプルとなるように意識して書いています。 これからテストを書こうと思っている方の参考になれば幸いです。 テスト対象 今回のテストの対象となるコンポーネントとカウンターモジュールです。 Counterコンポーネント カウントされる数値とincrement!と decrement!ボタンが表示されています。 <template> <div> <p>{{ counter }}</p> <button @click="increment">increment!</button> <button @click="decrement">decrement!</button> </div
Reactで一人TDD修行したので紹介 TDDとは TDD(Test Driven Development:テスト駆動開発)は、実装を進めるより先にテストコードを書くことです。はじめにテストを書き、そのテストを実行し失敗させます。その後、目的部分のコードを書き、テストを成功する形にします。次にテストが通るままでリファクタリングを行っていきます。 TDDでは、この失敗(Red) -> 成功(Greed) -> リファクタリング(Refactor)を繰り返して、少しずつ作っていきます(一気に複数の機能は実装しない)。 Red TDDのスタート地点の状態。テストが、失敗に終わる・コンパイルエラー(プロダクトコードが無い初期状態に限る)になる状態。書いたテストに対して、想定通りにエラーになることを確認。このとき、プロダクトコードがなくてもテストのみに注力。 Greed Redで失敗しているテストを
先日 Babel の v7.0.0 がついに 正式リリース されましたが、今自分がやっているプロジェクトでは訳あってもう少し 6 系を使う予定です。 そんな折、軽率に node_modules ディレクトリを削除して作り直したら Jest が通らなくなってしまい困ったので、おおまかな原因と解決方法をメモします。 前提 JavaScript と TypeScript で開発をしている JS のトランスパイルには Babel 6 を使っている Stylelint も使っている Jest も使っている ts-jest@23.1.4 を使っている 起きたこと Jest が以下のようなエラーを吐くようになり、 TypeScript のテストをパス出来なくなってしまった。 FAIL path/to/test.spec.ts ● Test suite failed to run TypeError: C
Jestのマニュアルモックのドキュメントの和訳 趣味プロダクトでfsのモッキングをする必要が出てきたので https://jestjs.io/docs/en/manual-mocks の和訳をしました。英語は苦手なのでおかしな点が間違いなくあります。お気づきの方は編集リクエストをくれると助かります。 マニュアルモックはモックデータを返す機能をスタブするために使用します。例えば、ウェブサイトやデータベースのような外部リソースにアクセスする代わりに、偽データを使えるマニュアルモックがほしいと考えるでしょう。これによりテストは高速で信頼性の高いものになります。 ユーザーモジュールのモック マニュアルモックはモジュールディレクトリ直下の__mocks__/サブディレクトリにモックモジュールを作成することで定義します。例えばmodelsディレクトリにuserと呼ばれるモジュールのモックを作成するには
React ComponentとRedux(action、reducer)のテスト ReactのComponent周りとReduxのaction周りのCIテストを行いたいと思ったので Jest+Enzymeで単体テストを書いてみました。 JestはFacebookが開発しているReactJS単体テスト用のライブラリです。 単体テストに加え、Reactのレンダリング結果をスナップショットとして保存することもできるため、 レンダリングの差分テストを行うこともできます。 EnzymeはAirbnbが開発しているReactのUnitテスト用ライブラリです。 propsにパラメータを渡したり、stateの変更を行ったりできます。 ReactJSを実践で使う時は Redux、 Matarial-UI、 redux-formを組み合わせることが多いと思います。 今回はMatarial-UI、redux-
Vue-test-utilsのshallowMountとmountの違いについて この記事では Vue-test-utils の shallowMount と mount の違いについてをメインに記事にしていきます。また shallowMount + stubs についても書いていきたいと思います。 Component.methods とコンポーネントから直接 methods を呼び出す方法もあるのでよかったら見ていってください。 mount shallowMount shallowMount + stubs TodoContainer.methods このあたりでを書いていきたいと思います。 個人的には「Vue-test-utils」には、Vue.jsのコンポーネントとかをいい感じにwrapしてくれて、jestとかのテストランナーに乗せれるようにしてくれるいい感じのヤツという認識がありま
はじめに 自分もAlexaスキルを作ってみようとちょっといじってみた。 Alexaスキルのバックエンドには AWS Lambda を Node.js ランタイムで利用するのが手っ取り早い。 どうせなら、この機会に Typescript も使ってみようと思って Typescript と VSCode にも入門した。 また、Lambdaのデプロイ等の操作には今の所、 AWS SAM よりも 手間が少ないと感じる Serverless Framework を利用している。 Serverless Framework にはGithubなどで公開されている既存のアプリケーションを元にアプリケーションの雛形を作る機能(serverless install)があるので、ベースの部分をテンプレートとして公開してみた。 HeRoMo/serverless-aws-alexa-ts READMEの日本語版がわり
既存プロジェクトの JavaScript アプリケーションのソースコードに TypeScript を含め始めました。 その際やったことや参考にした記事などをメモします。 前提 環境 OS: macOS エディタ: VSCode TypeScript: 2.9.2 プロジェクトはこれまで ES2015+ で開発をしてる。 Webpack@3.x (laravel-mix) + Babel 既存のコードベースを TypeScript に置き換えることはしない。 たいへんなので・・・ TypeScript を触るのは初めて。 TypeScript の Linter については今回は考慮しない。 達成したこと TS での開発ができるようになった。 TS in JS ができた。 JS のコード内で import SomeTsFile from './some-ts-file' みたいな事ができた。
はじめに Alexaスキルを実装するときにもテストしながら開発したい。 でも、実機で声を出しながら実装するのは流石に効率が悪い。 Alexaシミュレータを使うのも繰り返していると辛くなってくる。 コードを変更するたびに Lambda関数をデプロイするのも辛いし、Alexaシミュレータに発話を入力するのも面倒。 なにより、エラーになったときに発生箇所がわかりにくく、デバッグログを仕込んではCloudWatchLogsで確認するのが辛い。 ローカルでテストしながら開発できないものか。。。 ということで Jest + virtual-alexa でAlexaスキルをテストする方法を紹介する。 開発環境 最初に私の開発環境について、記述する。 AlexaスキルのバックエンドはLambdaを利用している。ランタイムはNode8.10。ローカルのテストにおいてもNode8.10を利用している。 Typ
はじめに 最近はTypeScript+ExpressでWeb APIサーバーぼちぼちやってるんだけど、restifyなるExpress拡張がなんかいい感じっぽいので今回はrestify + TypeScriptでRest API Serverを開発してみることにした。テストは最近気に入ってるJestのTypeScript用 ts-jest を使う。 Get started Express + TypeScript する が大変参考になった。restifyとexpressを読み替えればいい感じの Webpack なトランスパイル環境が整えられる。感謝。 以下、コマンドと設定を垂れ流し。 モジュールをインストールする globalに TypeScriptやWebpackが入ってない場合は入れておく
Vue.js + Jest でnpm run unit をするとSecurityError: localStorage is not available for opaque originsが発生するVue.jsJest Vue.jsのテストをやろうかと思って、とりあえず vue-cli で自動生成される HelloWorld.vue のテスト(npm run unit)を実行したら以下のエラーが発生したので、その対処法を残す。 見てみると、 SecurityError: localStorage is not available for opaque origins が発生している。 ググってみると、jest.config.jsに以下のパラメータを追加すれば良いとのこと。
VueJS に関する資料を探していて良いものを発見し、日本語訳がありますが、一部抜けていたので、翻訳しました。環境構築の部分です。https://lmiller1990.github.io/vue-testing-handbook/ja/setting-up-for-tdd.html まだ Vuex 周りは日本語訳がないので、おってしたいと思います。 また、プルリクも出したので、採用されれば該当サイトからも見れるようになります。 vue-cli をインストールする vue-test-utils は、VueJS 公式のテスト用ライブラリで、本ガイド全体で使用していくツールです。このツールは、ブラウザ環境でも Node.js 環境でも動作しますし、どんなテストランナーとも組み合わせることができます。本ガイドでは Node.js 環境でテストを走らせていきます。 vue-test-utils i
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 翻訳しました。プルリク中です。 Vuex のテスト これ以降しばらくは、Vuex のテストについて解説していきます。 The next few guides discuss testing Vuex. Vuex のテストにおける二つの側面 一般的にいってコンポーネントは Vuex と以下の方法でやりとりをしています。 Generally components will interact with Vuex by mutation へ commit する action を dispatching する $store.state もしくは
Mutation をテストする Mutation のテストだけを独立しておこなう場合には、複雑な手順は全く必要ありません。Mutation は通常の JavasScript の関数の範囲で書かれているからです。このページでは Mutation だけの独立したテストについて取り上げます。コンポーネントが Mutation に commit する際の Mutation のテストをしたい場合には、こちらをご覧ください。 Testing mutations in isolation is very straight forward, because mutations are just regular JavaScript functions. This page discusses testing mutations in isolation. If you want to test mutat
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く