日本の医療システムの再構築を目指すスタートアップ「カケハシ」のフロントエンド領域でのチャレンジ / Challenges in the frontend domain at “Kakehashi”
動画はこちら https://twitter.com/_kensh/status/1468951162053607424?s=20 サーバーレスはサクっと作れるのは良いけれどテストやデバッグが大変だって思うことはないでしょうか? 難しさの理由としてプログラミングコードのテストだけでなく、サービス…
# -*- coding: utf-8 -*- from __future__ import absolute_import, unicode_literals # テストする関数 def add(a, b): return a + b # テストコード 関数名はtest_ から始めるのがpytestでのお作法 def test_add(): assert add(1, 1) == 2 assert add(1, 2) != 2 >>> $ py.test ../tests/test_add.py =============================================================================== test session starts ================================================
はじめに リーダブルRspecというタイトルつけましたが、そんな大それたものではないです テスト書くときでも名前付け重要だからちゃんとしよう!っていうだけの内容です RspecがBDDのためのツールであることを意識しつつ、 Rspecの流儀に則って適切に名前付けをして書くと読みやすいテストがかけるはずです describe/context/exampleのメッセージに適切に名前つける これが出来るだけで当然読みやすいテストになる describe->テスト対象 context->テストする状況 example->テスト(itやspecify) なので、 『aaaはbbbの時cccになる』 というテストを書くときは次のようになる 重要なのは describe/context/exampleだけでテストの概要を説明すること 理解しやすい状態になっていないと、負債になってしまう 1つのdescr
$ bin/rails g scaffold user name:string mail:string password:string invoke active_record create db/migrate/20151214145437_create_users.rb create app/models/user.rb invoke test_unit create test/models/user_test.rb create test/fixtures/users.yml invoke api_resource_route route resources :users, except: [:new, :edit] invoke scaffold_controller create app/controllers/users_controller.rb invoke test_un
はじめに Xcode 6 でユニットテストのようにパフォーマンスをテストする機能が追加されました。 これによって重そうなロジックにパフォーマンスの測定を設定しておき常に計測することができます。 例えば、画像や動画、音声など圧縮データのエンコード/デコード処理、大量のデータをソートする処理、暗号化する処理などが、ざっと思いつく重い処理です。 今回はサンプルとしてログ出力で追加されたprintlnとNSLogのパフォーマンスを比較してみます。 測定してみる パフォーマンスの測定はユニットテストと同じように扱われますが、Assertがある訳ではなくself.measureBlock()の中で呼び出されたコードが計測対象になります。 新規にプロジェクトを作成するとTestクラスが作成されますが、そこにもself.measureBlock()が作成されるようになりました。 今回必要なソース テストさ
後編を公開しました(2014/10/8) これは、テスト駆動開発(TDD)とTDDがソフトウェア設計に与える影響についてKent Beck、David Heinemeier Hansson、および著者の3人で行った一連のディスカッションの議事録です。 ディスカッションに至った経緯 あるセンセーショナルな発言とブログ記事が発端となり、お互いの見解と経験について理解を深める目的で、話し合いが持たれました。 この会話のきっかけとなったのは、 DavidがRailsConfで行った基調演説です。 彼はRailsコミュニティでTDDおよびユニットテストへの不満を表明しました。 程なくして、彼はいくつかのブログ記事を公開しましたが、そのうちの最初の記事で “TDDは終わった” と宣言したのです。 それから2~3日後、Davidのその後の記事について私がタイプミスの修正を送ったところ、 Davidは彼の
連載目次 前回の「RailsのテンプレートエンジンSlimの書き方とActionViewのヘルパーメソッド、レイアウトの使い方」までで、Railsの基本的な使い方をMVCで分解して解説してきました。今回はRailsのテストについて解説します。 ある機能を作るにはいろいろな作り方がありますが、より短く分かりやすいコードに変えたとき、アプリケーションの「振る舞い」まで変わってしまうと問題ありですね。そうならないためにアプリケーションの振る舞いをあらかじめ定義しておきます。そしてコードを変えるたび定義通りに動いているかチェックすれば、バグや不具合を減らせそうです。 Railsには、そのためのツールがあり多くの開発現場でテスティングフレームワークとして使われています。まずはツールを使えるようにするところから紹介しましょう。 標準「MiniTest」とデファクトスタンダード「RSpec」 Rails
Myron Marston » Notable Changes in RSpec 3の雑な訳です。 誤訳・雑すぎる訳がありましたら、Twitterで@nilp_までご連絡頂けると助かります。 RSpec 3.0.0 RC1が2日前にリリースされました、そして最終的な3.0.0のリリースが目前に迫っています。 我々はβ版をここ6ヶ月にわたり使ってきました、我々はそれらを皆さんと共有できることにわくわくしています。 これが新しいとこだよ: すべてのgemたちにわたって Ruby 1.8.6と1.9.1のサポートがなくなりました これらのバージョンのRubyはかなり前に寿命を迎えました、RSpecはこれらをサポートしません。 Ruby 2.xのサポート向上 最近のRSpec 2.xのリリース(すなわち2.0がリリースされたあと出たやつ)はRuby 2を公式にサポートしています、しかしRSpec
Kiwi+CocoaPodsで始めるiOSアプリの振る舞いテスト入門:iOSアプリ開発でもCI/継続的デリバリしようぜ(2)(1/4 ページ) 現代の開発現場において欠かせないCI/継続的デリバリを、iOSアプリ開発に適用するためのツールやノウハウを解説する連載。今回は、iOSアプリの機能の振る舞いをテストするテスティングフレームワークの特長とインストールの仕方、主な使い方を解説します。 前回の「iOSアプリ開発でCI/継続的デリバリ環境を始めるための4種の神器」では、CI/継続的デリバリ環境を構築するために必要なツール・サービスを紹介しました。 今回はiOSアプリのためのテスティングフレームワークの1つである「Kiwi(キウィ)」を使った振る舞いテストの書き方について解説します。 振る舞いをテストするテスティングフレームワーク「Kiwi」とは KiwiはiOSアプリケーションの機能の振る
DHHの"TDD is dead. Long live testing."を、訳してみました。 翻訳 やっとむ By David Heinemeier Hansson on April 23, 2014 著 David Heinemeier Hansson 2014年4月23日 Test-first fundamentalism is like abstinence-only sex ed: An unrealistic, ineffective morality campaign for self-loathing and shaming. テストファースト原理主義は禁欲のみを唱えた性教育のようなものだ。つまり、自己嫌悪に陥っている人に向けた、非現実的で効果のない、道徳教育のようなものだ。 It didn't start out like that. When I first disco
iOSのアプリケーションではモデル周りのテストと同じぐらいUI周りのテストが重要な気がするのですが、画面のテストってちょっと面倒ですよね。その上Xcode標準のテストフレームワークでは画面遷移などのテストができません。そこで、統合テスト用のテストフレームワークを使う必要がでてきます。 選択肢はいくつかありますが、使い方がシンプルで導入も容易なKIF Frameworkを紹介します。 KIF Framework GitHub - kif-framework/KIF: Keep It Functional - An iOS Functional Testing Framework KIFは決済サービスSquareが自社アプリケーションの統合テストのために開発したフレームワークだそうです。KIFを使ったテストではボタンをタップして画面遷移したり、画面遷移した先のUIの存在を確認したりといったこと
和田卓人さんによるテスト駆動開発問題解説の寄稿です! バグのないよいコードを書くには、よいテスト設計が重要です。今回は現在時刻に関する問題と、その問題で提出された実際の解答コードを紹介しながら、どのようにテスト設計し開発していくのかを解説していきます。 ゲスト解答による解答コードも公開中! by CodeIQ運営事務局 はじめに こんにちは、和田(@t_wada)です。今日は先日出題させていただいたTDDに関する問題の総評を行いつつ、テスト容易性設計について考えてみたいと思います。 問題文 私が出した問題は、以下のようなものでした。 問1. 下記の仕様をテスティングフレームワークを使ってテストコードを書きながら実装してください。 【仕様1】 「現在時刻」に応じて、挨拶の内容を下記のようにそれぞれ返す機能を作成したい。 (タイムゾーンはAsia/Tokyoとする) 朝(05:00:00以上
対象読者と環境 Webブラウザを使ったテストを自動化するOSSのツール「Selenium2(WebDriver)」のインストール手順と基本的な使い方をご紹介します。想定読者は、テスト自動化に興味のあるプログラマーです。 SeleniumにはSelenium IDEというブラウザ操作を記録できるツールがあり、SeleneseというSelenium1に対応したコマンドをHTML形式で保存します。これによってノンコーディングでテストスクリプトを作成することができるのですが、WebDriverやプログラミングによる効率化の恩恵を受けることができません。本記事はSelenium IDEを活用しながらWebDriver使ったテストスクリプトをJava(JUnit)形式で書いていくための手引きとなっています。 今回筆者が使用した環境は以下のとおりです。 OS:Windows 7 Java:1.7 Fir
Rails4時代の高速テスト環境 Rspec+Guard+FactoryGirl+Spring[NEW!]RailsRSpecGuardFactoryGirlspring Railsのテスト環境の定番といえば Rspec Guard FactoryGirl Spork このへんの組み合わせが定番だったんではないでしょうか。 Sporkでテスト環境をプリロードして、Guardでファイルを監視してガンガンテストを回してと。 今回はこのSporkを最近メキメキと頭角を現してきているSpringに置き換えて よりモダンな高速テスト環境の作り方を説明します。 Springのいいところ このSpringなにがいいって、設定がすごく簡単。 おまけにGuard+Rspec以外にもrails generateやrake routesなど他のコマンドも高速化してくれます。 一度体験したらもう戻れません。 必要
ブラウザの画面テストを自動化するツール、Selenium。 大変便利なツールなのですが、Selenium RC、Selenium IDE、WebDriverなど色々な名前が出てきて、「なぜこんなややこしいことになっているんだろうか」と思ったことはありませんか? その理由を知るには、Seleniumの歴史について知る必要があります。 今回は、Seleniumの誕生から2013年5月現在に至るまでの歴史を振り返りながら、それぞれのツールがどのような位置付けのものなのか、見ていくことにしましょう。 ※ 歴史はいいからとりあえずSeleniumを使ってみたい、という方は、Selenium公式サイトからSelenium IDEをダウンロードすれば使えます。 Selenium Core Seleniumの原型は、米ThoughtWorks社で働いていたJason Huggins氏によって2004年に作
Selenium IDEは、ブラウザ操作を記録してSeleniumのスクリプトを生成できるFirefoxプラグインで、プログラムを書かなくてもSeleniumのスクリプトが作成できることから、多くの人に利用されています。 記録したスクリプトの再生をSelenium IDEで行うこともできるのですが、Firefoxプラグインということもあり、これまで実行はFirefoxでしか行うことができませんでした。 しかし、2013年4月26日にリリースされたSelenium IDE 2.0を使えば、Selenium IDEからChromeやInternet Explorerなど他のブラウザ上でのテストスクリプト実行を行えるようになりました。 今回は、SeleniumのコミッターであるSamit Badle 氏のブログ記事 "WebDriver Playback in Selenium IDE is H
テストしてますか! スマホブラウザ対応の結合テストとか辛いですね。そうですね。 というわけでSeleniumでiOSシュミレーターのブラウザを動かして見ました。 Seleniumには、iPhone driverというのがあるのでそれを使いますです。 http://code.google.com/p/selenium/wiki/IPhoneDriver 以下の行動をとります。もちろんMac上です。 XCode の4.2以上を入れます #git clone https://code.google.com/p/selenium/ #cd selenium #./go iphone #open iphone/iWebDriver.xcodeproj #Xcode が立ち上がるはずなので、適切なiPhoneを選択し、Runします 上記が全部うまくいくと、Xcodeのシュミレーター上で、RemoteD
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く