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

やりたい事 前回の、単体テストで開始時にモックサーバを起動し、終了時に停止する - Qiita では json-server をライブラリとして使ってサーバを起動・終了する手順を書きました。 json-server はコマンドラインからの実行もできるので、そちらを利用した書き方です。 前回の記事は、mocha 単体では実行できたのですが mocha-webpack を使った時に、うまく動かなかったので、そういう場合の回避策として調べました。 どうやるか child_process.spawn を使ってコマンドを (background で) 起動し、標準出力への出力内容から起動したかどうかを確認します。 終了は、起動時の PID を記録しておき、それを kill することで実現します。 実装例 import * as child_process from "child_process";
やりたい事 JavaScript の単体テストで、テスト対象のコードがサーバと通信して JSON 形式で受信を受け取る場合、サーバと通信する部分を置き換えてテストコード内部で完結するようにしたい。 しかし、通信する部分をモックで置き換えるのはしたくないので、テスト用に JSON を返すサーバを立てたい、そしてサーバは開始時に起動、終了時に停止させたい。 どうやるか json-server は こんな感じに サーバの実装をすればできる。 json-server は、パスと返る JSON の内容をコードから指定できるので、テストケースに合わせてテストコード内で修正できる。 実装例 var jsonServer = require("json-server"); var assert = require("assert"); var http = require("http"); describ
Nodeで最低限のテストができるようにするよ。何も知らなくても15分くらいあればテストの最初の一歩をふみだせるように記事を書いたよ。 概要 npm test でテストが走るように設定 テストコード作成 Step#01 初期設定 ~/letstest をプロジェクトディレクトリにしよう。配下にtestディレクトリを作ってここにテストコードを置く。ディレクトリ名をtestにすることで、テストツールがテストコードの場所を見つけることができる。テストツールはmochaが普通に使われているのでこれをインストールする。 $ mkdir -p ~/letstest/test $ cd ~/letstest $ npm init -y $ npm install -save mocha npm init -y コマンドを打つと、package.jsonが生成される。この中のscripts.testフィール
mocha における describe it before beforeEach after afterEach の実行順序JavaScriptmocha はじめに この記事について Javascript のテストフレームワーク mocha における describe it before beforeEach after afterEach の実行順序について調べてみました。 環境 Windows 7 Professional x86 mocha 5.0.1 結果 5行で describe は上から順番に実行される it は上から順番に実行される beforeEach, afterEach は 各 it の前後 で実行される before は describe の最初に一度だけ 実行される after は describe の最後に一度だけ 実行される 実行結果 $ mocha test.
mocha でテストを書いている時に、どうしてもブレークポイントで止めてデバッグしたくなることがあります。 おもむろにコードにdebuggerを仕込みます。 そして mocha コマンドに --debug-brk --inspect とオプションをつけて実行しましょう。 chrome-devtools:// で始まるURLが吐き出されるので、ブラウザでそれを開きます。 $ mocha ./something-spec.js --compilers js:babel-register --debug-brk --inspect Debugger listening on port 9229. Warning: This is an experimental feature and could change at any time. To start debugging, open the f
はじめに 長いので、興味のない人は TL;DR まで飛ばしてください。 JavaScriptを綺麗な状態で保つためになくてはならない存在のESLintだが、それが素のJavaScriptではなく、mocha用のテストファイルだと話が変わる。 ファイル内で定義していない関数、describeやitを使うからだ。 そうなってくると、プログラムがエラーだらけになってくる。 しかし、これだけのためにテストファイルに対して、ESLintを無効にするのももったいないので、何か回避する方法が無いのか調べてみてもルール単位、ここではno-undefを無効にする方法しか日本語の解説が見つからなかったので、同じ様な事態になった人の助けになればとこの記事を書く。 TL;DR ソースコードの一行目に
基本的に大きなVue.jsアプリケーションを開発するとVue-cliで新しいプロジェクトを作成して、Babel、Jest、Webpackなどを入れます。複雑ですね。でもツールは全部JavaScriptなので、ブラウザだけでも使えます。 この記事で、Node.js、Webpackなどの複雑なツールなしでvue-test-utilsを使ってTDDで簡単なアプリケーションを作ります。ブラウザとスクリプトタグだけで書きます。 何を作る? これは、MUST-DOアプリケーションです。TODOのようなアプリケーションですが、TODOを入れられないし、削除できないのでMUST-DOです。 ソースコードはここ。index.htmlだけです。 Vueとテストを書くには必要なものは: Vue Vue-test-utils テストランナー (Mocha.jsを使います) 始めます。 検証は? 簡単なアプリケーシ
はじめに Node.jsでユニットテストをする場合に、どう設計するのが良いか?を言葉にしてみる。あくまで「私は、これが(今は)しっくりくる」という話。なおASTによるソース解析を含めたHook手法は、今回は行わないものとする。 こちらの記事「テストフレームワークを利用するときの、コード設計について」で書いた「テスト対象の関数から呼ばれる外部関数の全てをフック可能にしておく」と、結論としては同じ。 もう少しスッキリ書けるんじゃないかな?ってのがこの記事の目的。 あと「先にテストを書いてから実装」という話との関連も少し書く。 流れとしては、以下。 こんな風に書くと、テスト時のローカル関数のフックが楽にできる。 この書き方の元にテストを書くとこうなる(実装は無しでテストはFailする)。 実装するとこうなる。 【補足】 2018/07/10:サンプルコードへのリンク(GitHub)を追記しました
mochaで、describeをネストして書くことが多いんですが、その時にhook関数がどういう順番で呼ばれるのか不安に駆られたので調べてみました。 テストコードはこんな感じです。行数削減のために詰めて書いているのでちょっと見難いですが、ご容赦ください。 const {expect} = require("chai"); before(function(){console.log("global before")}); beforeEach(function(){console.log("global beforeEach")}); after(function(){console.log("global after")}); afterEach(function(){console.log("global afterEach")}); describe("hook call order
この記事の内容 ①テストとは、②mochaとchaiを使ったNode.jsテスト ソフトウェアテスト コンピュータのソフトウェアプログラムを実行し、それが意図したとおりに動くかを観測・評価・検証する作業のこと。通常は検証対象のソフトウェアを実際に試行する動的テストを指すが、レビューなどを静的テストと呼んで広義のテストに含める見方もある。 引用元 http://www.itmedia.co.jp/im/articles/1111/07/news192.html テストケースとは ソフトウェア開発におけるテストは一般に、ユーザーの使用状況を反映した入力データを用いてソフトウェアを実行し、事前に想定した結果と実際の実行結果をつき合わせて合否の判定を行う。このテスト用の“入力データ”とそれを実行したら得られるであろう“事前に想定した結果”の対をテストケースという。すなわち、テストケースを使って対象
$ mocha -R nyan 7 -_-_-_-__,------, 0 -_-_-_-__| /\_/\ 0 -_-_-_-_~|_( ^ .^) -_-_-_-_ "" "" 7 passing (966ms) Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
mocha + power-assert環境の構築 ここでは、mocha + power-assert環境の設定手順とテストの実行方法をまとめています。尚、本ページの情報は、Web知識の浅い、Node.jsの扉を叩いている程度のレベルの私が、ググった情報です。従って、誤りや、ずれてるところも多々あると思います。引用したものについては、出来る限り引用元を記載しましたが漏れている可能性もあります。 mochaは、BDDスタイルでもTDDスタイルでも使えてグローバル変数のリーク検出までしてくれる(らしい)Node.js上で動作するテストフレームワークです。 power-assertは、前述フレームワークを用いたテストで用いるassertライブラリ(NG結果が他のライブラリより分かり易そうだなぁと思い選択しました)です。 この二つを組み合わせることにより、以下の様なイメージでserver側jsコー
前回 QiitaにReact.js の React.js の公式Tutorial を gulp を利用して簡単に実行できる環境を作って、ES6も試した で公式TutorialをECMA2015(ECMA6)を利用して書き直しを行ったのですが、ReactといえばFlux、Flux といえばRedux ということで、流行りのRedux を利用して記述したらどうなるのかを試してみました。 また 同じく流行りのテスト環境である Mocha + power-assert を利用して、テストを追加してみました。 React および Redux はテストも非常に行いやすいのを体感しました。 前回の続編として、以下GitHub で公開しています。 https://github.com/ma-tu/react-babel-gulp-browserify-tutorial/tree/es6-redux Rea
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く