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

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(); }); /**
HTMLの情報を取得したいけど、欲しい情報はjavascript等でレンダリング後の情報というのはよくある話です。 毎回手動で取ってくるのは面倒、そういう時に便利なのがPhantomJSです。 つい最近自分も使ってみたので、誰かの参考になればと思いメモとして残します。 動作環境 Amazon Linux AMI release 2018.03 composer 1.5.1 PhantomJSインストール $ cd /usr/local/src $ sudo wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 $ sudo tar jxfv phantomjs-2.1.1-linux-x86_64.tar.bz2 $ sudo ln -s /usr/local/sr
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-
経緯 JSによるレンダリング後のhtmlをスクレイピングしたかったので、phantomjsを使用。 他のページはそういう感じではなく、phpQueryでスクレイピングしていた。 そのためこういう事になりました。 方法 理由はよくわからんが、いい感じになってくれないので、 DOMDocumentにしてからphpQueryに食わせないといけなかった。 //phantomjsでhtmlをとってきて $client = Client::getInstance(); $client->getEngine()->setPath(PHANTOMJS_PATH); $request = $client->getMessageFactory()->createRequest(); $response = $client->getMessageFactory()->createResponse(); $req
はじめに この記事には真新しい内容はありません、スクレイピングを手軽に、言語に縛られないように僕がPhantomJSをどう利用しているかの備忘録的な位置づけになります。 やりたい事 スクレイピングに集中したい スクレイピングでやりたい事はDOMの収集です、必要ならばJavaScriptの処理実行後に収集します、動的なぺージ遷移、POSTによるページ遷移も行います、これらの煩わしい処理はPhantomJSに任せ、スクレイピング以外のコードをなるべく書かないように済ませられるようにします。 どの言語でも扱えるように汎用化しておきたい 各種言語で各種ライブラリが日進月歩で登場しています、必要だと思われたから登場したのでしょうが言語を変える度に最新のライブラリを追って組み込むのは大変です。 JavaScriptでスクレイピングし、結果をJSONで返す部分を切り出せば、各種言語はその処理を呼び出し、
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
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.
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く