With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. Join millions of developers who choose to build on Bitbucket.
最初にめどい言い訳をせねばならぬ俺は江島氏ともきょん氏とも面識はないですが、お二人ともが俺のことを知ってることを俺も知ってる程度には狭い業界であり。どちらかに肩入れしたいわけではないです。喧嘩したいわけでもないです。普段あまりここでは言及しないですが俺は今の仕事としてはテストを書いたりテストを実施したりする係をしてノリクチをしのいでおり、いわばテストは本業ですので、テストに言及することは今現在の同僚に対して意図しない受け取られ方をする可能性があるので困るので、それもあって普段はここではあまりテストの話はしないわけだが、だからと言って沈黙を破ってテストの話をするのが同僚に対して含みがあるというわけでもないです。とはいえ俺は大学等で真面目にソフトウエア工学の講義を受講したことがなく、経験と勘と昔取った杵柄だけで食ってるので、そういう意味では若干の後ろめたい気持ちもある。で、テストって何なん俺が
Chef、 PHPにつづき、Rubyの今年2013年を今年人気を集めた記事をテーマ別にまとめました。はてなブックマークの数と一緒に振り返っていきます。今年の2月24日にRuby20周年を迎え、ruby-2.0.0がリリースされました。他にもRails4のリリース、RubyKaigiの再開など多くのトピックがありました。 目次 Ruby20周年!そしてruby-2.0.0, ruby-2.1.0のリリース 言語実装への興味、ガベージコレクションほか Rubyのひろがり Rails4のリリースとRailsの成熟 テスト、CI 開発環境、手法、デザイン チュートリアル、Ruby, Railsを始める Ruby 話題の本 作りました! 新しいライブラリ ログ・マネージメント fluentd Tips! コーディング クライアントサイドとバックエンド Rubyを取り巻く環境、組織 TwitterがR
Rake タスクをテストするとき、テストコード内で #invoke で呼び出すと、二回目の実行時に Rake タスクが実行されません。 describe 'hoge' do before(:all) do @rake = Rake::Application.new Rake.application = @rake Rake.application.rake_require("hoge", ["#{Rails.root}/lib/tasks"]) Rake::Task.define_task(:environment) end describe "rake hoge" do context "Rake タスク実行後" do before do @rake["book:dismissed_suppliers"].invoke end it "hoge 一回目" do # Rake タスクが実行
テスト駆動開発の巨匠・和田卓人さんからの『現在時刻とロケールに依存するテスト』問題をPHPメンターズの後藤秀宣さんが解答してくださいました! この記事は、その後藤さんによる解答コードの公開と解説記事になります!! by CodeIQ運営事務局 PHPメンターズの後藤です。 和田卓人さん出題の『現在時刻とロケールに依存するテスト』問題をPHPを使ってオブジェクト指向のアプローチで解答してみました。 ※問題文については、和田卓人さんの解説記事を参照にしてください。 https://codeiq.jp/magazine/2013/11/1475/ 解答例は次の環境で作成しています。 PHP 5.5.4 PHPUnit 3.7 Composer サンプルコードのリポジトリをGitHubにて公開しています。コミットログなど合わせてご参照ください。(解説中にも各コミットへのリンクを貼ってあります) g
和田卓人さんによるテスト駆動開発問題解説の寄稿です! バグのないよいコードを書くには、よいテスト設計が重要です。今回は現在時刻に関する問題と、その問題で提出された実際の解答コードを紹介しながら、どのようにテスト設計し開発していくのかを解説していきます。 ゲスト解答による解答コードも公開中! by CodeIQ運営事務局 はじめに こんにちは、和田(@t_wada)です。今日は先日出題させていただいたTDDに関する問題の総評を行いつつ、テスト容易性設計について考えてみたいと思います。 問題文 私が出した問題は、以下のようなものでした。 問1. 下記の仕様をテスティングフレームワークを使ってテストコードを書きながら実装してください。 【仕様1】 「現在時刻」に応じて、挨拶の内容を下記のようにそれぞれ返す機能を作成したい。 (タイムゾーンはAsia/Tokyoとする) 朝(05:00:00以上
先日、日本Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。本エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失
体育の日なので、テストの話を書きます。 テスト書きすぎ問題 - hitode909の日記 階層を増やしすぎるとテストが多くなりがちという問題 - はこべブログ ♨ テストと対応関係 - $shibayu36->blog; 体育の日って高速に唱えるとテストの日に聴こえる - ✘╹◡╹✘ ソフトウェア・テストと安全なソフトウェアを作ることについての思索 - 青き花へ テスト書きすぎ問題についてから始まり、テストの書き方ノウハウってあんまり共有されないよねって話があったので、自分も id:shibayu36 さんの話に乗っかるとする。 以下、テストと対応関係 - $shibayu36->blog;からコードを引用しました。 package Blog; use strict; use warnings; sub new { my ($class, $args) = @_; return bless
今日話さないこと JavaScriptの基礎知識、jQueryの導入 気持ちいいUIやUXがうんちゃら CanvasやWebGLを使ったリッチでイケてるゲームの作り方
Generate test data for your database Quick recipes to test real applications with random data Table Structure: Export Format: Generated rows: Use an existing data model and customize it to mimick your table structure or create one from scratch. # Column title Data type Delete Add Another Column Clear table Why do I need to fill a database with random data? When developing an application, you would
前段 TDDBootCamp in Tokyo 1.5にJavaグループの一員として参加させていただきました。 そこでGroovyをやりたいというホットなエンジニアと出会いまして、GroovyでTDDをさせていただきました。 いきなりGroovyでプロダクトを書く事はなかなかないと思っているので、Javaのプロダクトコードに対して、Groovyのテストコードを書く。という方法で演習しました。 そこで、皆様がGroovyへ多少なりとも注目してくださいましたので、このエントリーを書いてみようと思いました。 JavaプロジェクトでGroovyテストコードを導入すべき5つの理由 以下であげる5つのポイントは「Groovyを知らないJavaプログラマーがすぐに始められるGroovyの強力な機能」をとりあげました。 もちろんここにあげた以外にもたくさんのGroovyの強力な機能はありますが、それらの威
Vixie cron形式のcrontabをparseするモジュールをリリースしました。 Vixie cronと言えば、けんじおじさんに「カビ臭い」とかdisられそうな代物ですが、なんだかんだで利用している人は多いでしょうし、僕も使っています。 https://metacpan.org/release/Parse-Crontab 最近携わるプロジェクトではcrontabはリポジトリ管理しているのですが、それをあまりちゃんとテストをしてなかったので、それを解消すべく書きました。 以下の様に、crontabのテストを書くことが可能です。 use strict; use Test::More; use Parse::Crontab; my $crontab = Parse::Crontab->new(file => 'data/crontab.txt'); ok $crontab->is_vali
Android Advent Calendar 2012 に参加しています。 本エントリはDependency InjectionによるAndroidアプリケーションの実装とテストの一方法について述べています。 文中に出てくるコードは全てgithubから取得できます。 Dependency Injectionとは簡単にいうと、あるオブジェクトが依存しているオブジェクト(以下、Dependency)を別の誰かが注入(以下、Injection)してあげることでオブジェクトの関係を疎結合にする方法です。 Dependencyを誰かがInjectionしてくれると、なにがいいのか? まず、逆に誰もInjectionしてくれない場合を考えてみます。 Dependency Injection 前 誰もInjectionしてくれない場合は自分でDependencyを設定するしかありません。 たとえば、天
資料 本日はありがとうございました。発表可能な資料は後日 http://securedroid.org/ で公開します。 #securedroid / Androidセキュリティ勉強会 http://goo.gl/oMKuc #zusaar ENDO Yasuyuki on Twitter: "本日はありがとうございました。発表可能な資料は後日 http://t.co/9B6CHCJd で公開します。 #securedroid / Androidセキュリティ勉強会 http://t.co/VS6pk18Y #zusaar" とのこと。 twitterまとめ 2012.10.07追記 なんか資料あがってた http://ierae.co.jp/uploads/webview.pdf http://www.ustream.tv/recorded/25950587 2012.10.08追記 なん
ソフトウエアは、いわゆる「IT化」によって人々の生活を便利にし、業務を効率化することに貢献してきました。しかしその一方で、ソフトウエア開発自体はIT化が進まず、人の力に頼って泥臭く仕事をする状態が続いてきました。 そのような状況を打破しようと、ソフトウエア開発の現場にも自動化の波がようやくやってきました。中でも、ソフトウエアテストの自動化が注目を集めています。 テストは、単調で地道な作業をコツコツとこなさなければいけないため、自動化の実現が最も望まれる領域でした。そのため、多くのテストツールベンダーがツールを提供したり、オープンソースのツールが開発されたりしています。 テストツールの導入ガイドや知識体系ガイドが公開 テストツールを導入してテストの自動化を進める上で、必要な知識やノウハウに関する情報も充実してきました。最近の二つの活動を紹介しましょう。 NPO法人ASTER(ソフトウェアテス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く