PHPカンファレンス関西2014で「PHPコードではなくPHPコードの「書き方」を知る」を発表してきました。 写真提供:久岡写真事務所 別トラックに人気セッションがひしめく中、多くの方に聴いて頂き、ありがとうございましたm(_ _)m 発表内容 PHP 中級者(中級がどこかというのはありますが)を目指す初心者の方を対象に、FizzBuzz のコードを、関数にまとめて、クラス化するというのをライブコーディングで行いました。 また、関数にまとめた段階で、自動テストを書いて、実行結果を目で確認するのではなく、テストを実行して確認するというスタイルを取りました。 発表資料は以下です。 コードを書きながら進めていく形なので、資料だけでは少し伝わらない部分があるかもしれません。 デモで書いた PHP コードは、GitHub で公開しています。Sample1, Sample2 とディレクトリが分かれてい
今まではなんとなくtestemを使っていたのですが、Karmaを検討する必要があったので試してみました。 サンプルの設定などは↓で見ることが出来ます。 https://github.com/koba04/backbone-boilerplate testem to karma これまでは業務でもtestemを使っていて、テストの数が少ないうち(1000以下)は問題なかったのですが、 段々テストが増えてくるとCPU100%になってテストが走るブラウザが固まることが増えてきて辛い感じになってきました。 そんなときに下記の記事を見て同じような現象だなと思いKarmaを試してみることにしました。 http://developer.cybozu.co.jp/tech/?p=7089 Installation インストールはnpm install karmaするだけです。 globalでkarmaのコ
2. なにを発表するの? 最近、Selenium2 + Ruby + RSpec でブラウザ テストの自動化に取り組んでます 「ブラウザテスト」? ここでは「テスターがブラウザを操作して眼で結果 を確認する行為」という意味で使います 具体的にどんなことをやってるのかを紹介し ます。 (主にテストケースの構成について話します) 4. Slenium2って何? OSSのブラウザテストツール プログラム言語でテストスクリプトを書いて使う 何ができるの? 手動テストの代替 手動テストで行うのと同様に、実際にWebブラウザを起 動して操作できる ボタン押したり、文字列を入力したり取得したりetc 特徴・メリット ブラウザテストツールのデファクトスタンダード 情報&使用経験者の数が多い 開発が活発 幅広いOS/ブラウザ/言語に対応
DalekJS is an open source UI testing tool written in JavaScript, it will: launch & automate your browserfill & submit formsclick & follow linkscapture screenshotsrun your functional tests… and it works on Windows, Linux & Mac QuickstartCreate a package.jsonInstall DalekJSWrite your first testRun this beast!
tl;dr @t_wadaさん神 coffee-scriptでpower-assert使うときはespower-coffeeを使おう あらすじ ちょっと前に話題になっていたpower-assertを使ってみようとしました. こんな感じのを用意しました. assert = require 'power-assert' describe 'array', -> beforeEach -> @arr = [1,2,3] describe '#indexOf()', -> it 'should return index when the value is present', -> zero = 0 two = 2 assert(@arr.indexOf(zero) is two)
PhantomCSS - CSS testing with PhantomCSSCSS3 is the ignition and responsive design will become the driving force of developments in visual and CSS testing. PhantomCSS is one of many new tools to support this paradigm shift in UI testing. PhantomCSS takes screenshots captured by CasperJS and compares them to baseline images using Resemble.js to test for rgb pixel differences. PhantomCSS then genera
jQuery#triggerのテスト describe('jQuery#trigger', function() { it('イベントハンドラに値を渡せること', function(done) { var $el = $('<div>'); $el.bind('foo', function(event, val) { expect(val).to.be('bar'); done(); }); $el.trigger('foo', 'bar'); }); }); コールバックが2回呼ばれるかをテスト describe('jQuery#trigger', function() { it('イベントハンドラに値を渡せること', function(done) { var $el = $('<div>'); var count = 0; $el.bind('foo', function(event,
We’ve all been there: that bit of JavaScript functionality that started out as just a handful of lines grows to a dozen, then two dozen, then more. Along the way, a function picks up a few more arguments; a conditional picks up a few more conditions. And then one day, the bug report comes in: something’s broken, and it’s up to us to untangle the mess. As we ask our client-side code to take on more
Mocha (GitHub: visionmedia / mocha, npm: mocha, License: MIT) by TJ Holowaychuk is a new test library that does just about everything a JavaScript developer needs, and yet remains customisable enough to support both behaviour-driven and test-driven development styles. Mocha presents itself as an unassuming and lightweight library, but it actually goes far beyond the test frameworks I’m familiar wi
A test driven development cycle simplifies the thought process of writing code, makes it easier, and quicker in the long run. But just writing tests is not enough by itself, knowing the kinds of tests to write and how to structure code to conform to this pattern is what it's all about. In this article we will take a look at building a small app in Node.js following a TDD pattern. Besides simple 'u
東京Node学園祭2012 アドベントカレンダーの9日目です。Node.jsとほとんど関係ないうえに内容がけっこう薄い感じなった気がするんですけど気にせずいこうと思います。 フロントエンドのJavaScriptをテストするとき最近はいつもmochaを使ってるんですが、やはりJenkinsとかtravis-ciを使って自動テストもしたいと思って試してみました。 hokaccha/mocha-phantom-travis-test ここではよくあるjQueryで画像のロールオーバーをするというプラグインを作ってそのライブラリに対してテストを書いています。ソースコードはこんな感じです。 $.fn.rollover = function() { return this.each(function() { var $img = $(this); var src = $img.attr('src');
I don't think I need to convince you that testing your JavaScript code is a good idea. But, it can sometimes prove tedious to test JavaScript code that requires a DOM. This means you need to test your code in the browser and can't use the terminal, right? Wrong, actually: enter PhantomJS. What exactly is PhantomJS? Well, here's a blurb from the PhantomJS website: PhantomJS is a headless WebKit wit
今日話さないこと JavaScriptの基礎知識、jQueryの導入 気持ちいいUIやUXがうんちゃら CanvasやWebGLを使ったリッチでイケてるゲームの作り方
本連載は、テストコードをこれから書こうと考えているJavaScript技術者を対象に、テストコードの意義から、テスト駆動開発、JavaScriptでのテストコードの書き方、継続的インテグレーションなどテスト全般にわたって解説します。また、原理原則だけでなくWhyから説明し、チームメンバーを巻き込みながら開発現場に活かせる考え方を総合的に解説します。第4回目の本稿は、JavaScriptでのテストダブルの方法を、Sinon.jsというJavaScriptテストダブルモジュールを使って説明します。 対象読者 JavaScriptの基本をある程度理解している方 テストコードをこれから書こうと考えている方 テストダブルとは テストコードを実行する際に、次のような課題に直面したことはないでしょうか。 Ajaxへのサーバへの問い合わせのような外部リソースも含めた処理のテストを行う必要があるが、テストデ
対象読者 JavaScriptの基本をある程度理解している方 テストコードをこれから書こうと考えている方 Jasmineとは Jasmineとは、JavaScriptのテスティングフレームワークです。Mochaなどのテスティングフレームワークとは違い、値を評価するためのアサーションモジュールも内包されています。また、CoffeeScriptでの記述も可能です。 Jasmineは振る舞い駆動(BDD)の形式でテストを記述します。BDDは、作成する機能に期待する「振る舞い」を文章で記述していきます。言い換えると、顧客が望んでいるであろう「要求仕様」に近い形でテストを表現しながら、テストと実装を記述していく手法です。 リスト01は、Jasmineで記述した基本的なテストコードです。このコードを文章として日本語に直訳すると「【処理結果】が【期待する値】と同じでないと予測(expect)する」です。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く