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
 
      
  var gulp = require("gulp"); var browser = require("browser-sync").create(); var concat = require("gulp-concat"); var uglify = require("gulp-uglify"); var Server = require("karma").Server; /** * server setting */ gulp.task("server", function () { browser.init({ server: { baseDir: "./", index: "index.html" } }); }); /** * browser reload */ gulp.task("reload", function () { browser.reload(); }); /**
![ChromeとFireFoxのHeadless機能を使ってブラウザーテスト駆動開発[gulp+karma+jasmine&GitHub+TravisCI] - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/73ec984938c42960cf38bbf0f5003cfdecbdaf27/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Q2hyb21lJUUzJTgxJUE4RmlyZUZveCVFMyU4MSVBRUhlYWRsZXNzJUU2JUE5JTlGJUU4JTgzJUJEJUUzJTgyJTkyJUU0JUJEJUJGJUUzJTgxJUEzJUUzJTgxJUE2JUUzJTgzJTk2JUUzJTgzJUE5JUUzJTgyJUE2JUUzJTgyJUI2JUUzJTgzJUJDJUUzJTgzJTg2JUUzJTgyJUI5JUUzJTgzJTg4JUU5JUE3JTg2JUU1JThCJTk1JUU5JTk2JThCJUU3JTk5JUJBJTVCZ3VscCUyQmthcm1hJTJCamFzbWluZSUyNkdpdEh1YiUyQlRyYXZpc0NJJTVEJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1jYWU5YWE4NTk1NDM5ZTlmN2NjY2E5NjMzNWExMzExZA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBpZW5hZ2EmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTU0YjExMjVmYjFiMDQ0OGI1Y2MwNWU0MzA3MjZkY2I3%26blend-x%3D142%26blend-y%3D436%26blend-mode%3Dnormal%26txt64%3DaW4g5qCq5byP5Lya56S-44K944OL44OD44Kv44Og44O844OW%26txt-width%3D770%26txt-clip%3Dend%252Cellipsis%26txt-color%3D%25231E2121%26txt-font%3DHiragino%2520Sans%2520W6%26txt-size%3D36%26txt-x%3D156%26txt-y%3D536%26s%3D9d72a14ddb27cce1225a86aa8d1c18f9) 
      
  1) Calculator null should be a 'null': TypeError: Cannot read property 'should' of null : : 2) Calculator undefined should be an 'undefined': TypeError: Cannot read property 'should' of undefined : : Chains 全てのアサーションはshould.jsラッパーオブジェクトを返ので、チェインすることができる。 「to, be, been, is, that, which, and, has, have, with, at, of, same」はチェイン可能なgetterとして提供されていて、テスト機能は提供していないみたい。 .not アサーションを否定します。 .deep deepフラグを設定
 
      
  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フィール
 
      
  はじめに 最近Reactとか触っています。Github上とかでいろいろなコードを見させていただくのですが、React周辺はReduxを使っているのでBabel使ってるけど、テストはFacebookのJestを使っていてあんまりBabel使えてなかったり、もはやテスト書いてなかったりします。 そもそもReactはフロントエンドのライブラリなので、あまりテストを書きたくなくなるのもわかります。ですが、Railsやっててもなるべくテストを書くことを尊重する雰囲気になってきているので、React周辺でもテストを書いていきたいのです。そこで、JestではなくてMochaとChaiを使ってテストを書くにはどうするべきなのかと思い、まとめました。 環境 node: v5.1.0 npm: 3.3.12 ディレクトリ構成
 
      
  <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="node_modules/should/node_modules/should-format/tests/browser/mocha.css" /> <title>テスト</title> <script type="text/javascript" src="node_modules/chai/chai.js"></script> <script type="text/javascript" src="node_modules/should/node_modules/should-format/tests/browser/mocha.js"></script> <script type="text/javas
 
      
  はじめに この記事について 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.js describe(1)-top describe(1)-bottom describe(2)-top describe(2)-bottom DESCR
 
      
  export default class RecieveParameter { constructor(e) { const req = JSON.parse(e.postData.contents); const payload = req.payload; this.status = payload.status; this.subject = payload.subject; this.build_url = payload.build_url; this.branch = payload.branch; this.reponame = payload.reponame; this.username = payload.username; } returnParams() { return { status: this.status, subject: this.subject, b
 
      
  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
 
      
  ユニットテストって何?って人向けのmochaとchaiの使い方 を見ていて、 MochaとChaiの事が気になったので、簡単な使いかたをメモ。 フォルダ構成 (Nodeが動く環境用) / L package.json L /test package.json (抜粋) "scripts": { "test": "mocha" }, テスト用のコードは、/test 直下に置きます。 (mochaの自動検索対象は、/test直下のみ。) Visual Studio Codeにnpm用の拡張機能を入れておくと、 Ctrl+R Tでテストが実行できるので便利! (npm run-script test testが呼ばれます。) 参照: Mocha: Getting Started 以上! ・・で終わってもよいのですが、以下おまけ。 Chaiの使いどころ:assert以外のものも使える Mochaに
![[めも]mochaとchaiの使い方 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/f782b86fd0320aebae9e5784477881ab5d3cd590/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JTVCJUUzJTgyJTgxJUUzJTgyJTgyJTVEbW9jaGElRTMlODElQThjaGFpJUUzJTgxJUFFJUU0JUJEJUJGJUUzJTgxJTg0JUU2JTk2JUI5JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02NmIwNDdkY2RhMjBiMzVjY2VjZDQ0MzMwMzc3YjYwOA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdG9yaXMtYmlyZHMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTFlMzc0YzkzMDdlYzdkNTIyNzU1NDJjY2QzOGE3YmFi%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Ddb5470797cd7ad2d47d34f88cd328ad4) 
      
  はじめに 流行りの redux を React 等、他のフレームワーク/ライブラリと【組み合わせず】に触ってみたので、その記録を残します。 redux という言葉を最近よく聞くけど何なのかは知らない人に、redux がどういうものなのかを知って、使い始めてもらえればもらえれば幸いです。 ついでに、redux はユニットテストに落とし込みやすいと知ったので、mochaとchaiを使ってユニットテストも書いています。 良ければご参考に。 対象 この記事は redux を触ったことがない JS はある程度触ったことがある (必須)webpack, ES6記法 を多分に使っているので、読むことが出来る方 を対象としています。 Redux とは こちらの記事が素晴らしくわかりやすい概念の説明(なんならこれだけでもだいたい理解できちゃう…)が載っているのでぜひご覧ください。 reduxは一言でいうと、
 
      
  リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
