巷でAngularJSが盛り上がっているのを横目に、最近は黙々とKarmaを触っていました。Karmaはかなりよくできていて素晴らしいと思うんですが、具体的な使い方はあまり見ないので紹介したいと思います。 Karmaについて http://karma-runner.github.io/ Karmaはいわゆるリモートテストランナーです。リモートテストランナーというと、色んなブラウザでテストを走らせることが目的のように思えますが、そうではありません。Karmaは ワークフローの問題を解決すること に主眼が置かれています。なので、コマンドラインでテストを実行するほかに ファイルの変更監視 CIサーバとの連携 デバッグのサポート プラグインによる機能拡張 といった機能を持っています。実際に使ってみると、単にテストを実行してくれるだけでなく、ワークフローが劇的に変わることを実感できると思います。 K
Travis-CIでブラウザのテストできないのかなー、できないよなーと思いつつ、いろいろ探してみたら出来るような事を知り、今ホット(なのかな?)なtestemを使う事でmochaでのテストも実行できるらしい!という事を知ったので試してみました。 準備 package.jsonの記述を変更します。 package.json "scripts": { "pretest": "./node_modules/.bin/bower install", "test": "./node_modules/.bin/mocha && ./node_modules/.bin/testem ci" }, "devDependencies": { "bower": "~0.8", "chai": "~1.5", "mocha": "~1.8", "testem": "~0.2" } testemが必要なのでtes
諸事情により研究で使うシミュレータを変更せざるを得なくなってしまった森です.心が折れたので,気分転換に昨夏某所で少しだけ弄ったNode.jsを勉強がてら一年ぶりに触っています.一年も経つと様々な新しいモジュールも公開されており,やはりこの界隈は発展が目覚ましいなと感じています.なかでもテスト環境はかなり整えやすくなっているのではと個人的に思いました.そこで今回はJavaScriptでの簡単なテストやその自動化の方法について紹介したいと思います. テストツールの紹介 見て分かるように,主要なものだけでも色々な選択肢があります.ここで挙げられているJasmineやMocha, BusterJSなどがいわゆるxUnitとよばれるようなテスティングフレームワークになります.もちろん全て紹介するわけにはいかないので,今回は MochaやChaiなどを使ってテストを行いたいと思います. node.js
最近、iPhoneアプリの開発に自動UIテストを取り入れてみたので、手に入れた知見を共有してみたいと思います。 この記事について iOSアプリケーションの自動UIテストを行うためのノウハウについて解説します。 この記事におけるUI自動テストとはiOSシミュレーターや実機を自動で起動し、予め記述していたとおりに操作させ、アプリケーションが問題なく動いているかどうかをテストする手法のことです。 今回はTuneup JSと呼ばれるライブラリを用いて、アプリの自動再生、要素のチェック、画像比較によるテストを行い、最終的にTravis CI上で動かすところまでを書いています。 iOS開発の知識のほか、JavaScript, Rubyを知っていると良いかも知れません。 ここで紹介するもののいくつかはRuby製であり、RubyGems, Bundler, Rakeなど、最低限のユーティリティが動く・使え
『JUnit実践入門』写経・実践会 in 横浜 #7 のハンズオン用。 このエントリではJava(Groovy)について書いていますが他言語でもだいたい同じです。 前準備 : MavenかGradleでテストできる状態にあるプログラムをGithubに公開する 1 : Travis CIにアクセスする https://travis-ci.org/ の右上からGithubアカウントでログイン 2 : 自分の名前→Accountsでリポジトリの一覧が出る 3 : スイッチをOFFからONに切り替える Github側も勝手に連携される Tokenも全部設定されてるSUGEEEEEEEEEE!!!!!!!!!!1111111111 4: リポジトリのルートに設定ファイル( .travis.yml )を置く Java language: java jdk: - openjdk6 - openjdk7
https://github.com/gfx/App-test-travis Travis-CI は CPAN Testers のない言語だとライフチェンジングなサービスだし、 CPAN Testers のある Perl においてもpushごとにCIを走らせたりちょっと変わった設定でテストを走らせたりできる大変便利なサービスですが、設定ファイルを正しく書くのがわりと面倒で、うまく動かすために.travis.ymlを少し変更してcommit & pushというのを何度もするはめになったりします。なので、ローカルで.travis.ymlを読んで実行するコマンドがあれば便利だろうというのがこれを作った動機です。 まだ作りはかなり適当で、before_install, install, before_script, scriptセクションを順番に実行するだけのもので、envやversionsをよし
language: python python: - "3.7" - "3.8" - "3.9" # Command to install dependencies install: - pip install -r requirements.txt - pip install pytest pytest-cov # Command to run tests script: - pytest --cov=./ tests/ # Specify branches to build branches: only: - main - develop # Cache pip dependencies cache: pip # Run jobs in parallel jobs: include: - name: "Lint" python: "3.9" before_script: - pip i
1. Travis CI とはTravis CI はオープンソースコミュニティのためにホストされた CI(継続的インテグレーション)サービスです。 継続的インテグレーションってなんだ? 継続的インテグレーション、CI(英: continuous integration)とは、主にプログラマーのアプリケーション作成時の品質改善や納期の短縮のための習慣のことである。エクストリーム・プログラミング (XP) のプラクティスの一つで、狭義にはビルドやテスト、インスペクションなどを継続的に実行していくことを意味する。特に、近年の開発においては、継続的インテグレーションをサポートするソフトウェアを使用することがある。 引用: 継続的インテグレーション - Wikipedia Travis CI は GitHub と連携しており、CI したいリポジトリーを接続しておくと、Travis CI がコミットを
Travis CIを始めとするウェブサービスとして使えるCIを使って、 JavaScriptのブラウザテスト(ブラウザ上でJavaScriptを走らせて行うユニットテスト)をやる方法をサービスごとにまとめてみました。 テストフレームワークとして Buster.JS を使用して行います。 Karma (旧Testacular) では公式サイトにも Karma – Travis CI でCI Serviceとの連携方法が記載されているのでそちらも参考にして下さい。 今回紹介するCI Servicesは以下のものです。 Travis CI drone.io BuildHive Jepso CI テスト実行の流れ Jepso CI を除いては、テスト実行の流れ自体は同じなので先に解説します。 Capture用のローカルサーバを立てる テストしたいブラウザで capture URL へアクセスする
Jenkinsによる継続的インテグレーション ここ最近、継続的インテグレーション (CI)ツールであるJenkinsが大きな注目を集めている。継続的インテグレーションとは、ソフトウェアのビルドを定期的に実行することでコンパイルやテストが通らないといった問題を早期に発見するというものだ。CIは自動化されたビルドスクリプトさえ用意すれば開発言語を問わず導入することができ、既存の開発環境や開発プロセスにドラスティックな変化を必要とせずに導入できるため敷居も低い。 JenkinsはわかりやすいWebベースのインタフェースを備えており、手軽に導入できるという点が大きなメリットだが、ことオープンソースプロジェクトに関してはより手軽にCIを実現する選択肢が存在する。それがオンラインサービスとしてCIツールを提供しているTravis CIやBuildHiveだ。 Travis CIはオンラインCIサービス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く