ラベル 開発環境 の投稿を表示しています。 すべての投稿を表示
ラベル 開発環境 の投稿を表示しています。 すべての投稿を表示

2016-08-05

capybaraとseleniumを使ってrubyでできてないwebサイトのテストをする

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
普段はrailsを使っているのでrspecを使ったテストを書いているのですが、このテストを既存のrubyを使ってないwebサイトの試験に使ってみることを試してみました。

前提は以下のような感じです。
・テストはWindows上でInternetExplorerを利用して行う
・データベースはMS SQL server
・webサイトはASP.Netで書かれている(htmlを出力しているなら言語は問わないはずです)
・テスト用のデータベース、webサイトを専用に用意する
 ※今回database_cleanerを利用しているので既存データがあったらごっそり消えます。

windows環境でrubyが使えるようにする手順は省略します。
bundlerとrspecをgem installして利用できるところまでは準備してください。


まずInternetExplorerをseleniumで利用できるように準備します。
IE用のドライバを以下から取得します。
http://docs.seleniumhq.org/download/
ダウンロードしたzipファイル内の
IEDriverServer.exe

c:\ruby\bin
などのパスが通っているフォルダに配置してください。
そしてIEの設定を確認します。
インターネットオプション
セキュリティで
各ゾーンの
保護モードを有効にする
のチェック状態をすべてのゾーンで同じにするように設定しておく必要があります。


ここからテストプログラム用の環境を作っていきます。
ちなみに、ここから作成するファイルの文字コードはすべてUTF-8です。

まず適当なフォルダを作成して、その作成したフォルダ内で以下を実行します。
rspec --init

フォルダ内にGemfileを準備します。
Gemfile

必要なgemをインストールするためフォルダ内で以下を実行します。
bundle install


rspec設定ファイル(.rspec)を作成します。
.rspec

フォルダ内にconfigフォルダを作成して、その中にデータベース接続設定ファイルを作成します。
config/database.yml

フォルダ内にspecフォルダを作成して、その中にspec_helperを作成します。
spec/spec_helper.rb

データベースのデータにアクセスするためのActiveRecordモデルを作成します。
specフォルダ内にmodelsフォルダを作成して、ここにrailsと同じようにモデルを作成します。
ここではItemクラスを例として作成しています。
spec/models/items.rb

データベースにテストデータを登録するためのFactoryGirlの設定を作成します。
specフォルダ内にfactoriesフォルダを作成して、この中に作成します。
上記のItemクラスに設定する値を例として作成しています。
spec/factories/items.rb

これらの準備ができたらspecフォルダ内にspecファイルを作成します。
spec/sample_spec.rb

テストの実行は作成したフォルダの一番上(Gemfileがあるところ)で以下を実行します。
rspec


こんな感じでとりあえず、データベースにテスト用データを突っ込んで、毎回データベースを初期化するための環境ができあがります。


今回のフォルダ構成をまとめると以下のような感じなります。
+-config
| +-database.yml
+-spec
| +-factories
| | +-items.rb
| +-models
| | +-items.rb
| +-spec_helper.rb
| +-sample_spec.rb
+-.rspec
+-Gemfile
+-Gemfile.lock


以下のサイトが参考になりました。
http://kakakakakku.hatenablog.com/entry/2016/01/09/142221


2013-12-28

gitの供用リポジトリの作り方

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
gitの共用リポジトリの作り方です。

用件としては、
・commitする人には認証をしてもらいたい
・でも認証なしでread onlyで使えるようにしたい
という感じのものです。

方法としては、commitはssh経由で行うようにしてread onlyはgitプロトコルでgit daemonで提供する感じになります。

環境はCentOS6です。

rootで実行します。

・git commitできるユーザが所属するgroupを追加
addgroup gitrepo

・commitできるユーザの登録
commitする人のアカウントを事前に作っておく必要があります。
そして上記のグループに追加します。
以下はユーザvivahirajにgit commitを許可する例です。
usermod -a -G gitrepo vivahiraj

・gitリポジトリ格納用ディレクトリを作成
mkdir /var/git

・公開用の認証なしでの利用ができるようにgitデーモンのインストール
yum -y install git-daemon

・gitデーモンの設定
vi /etc/xinetd.d/git
disableとserver_argsを変更します。
server_argsのほうでは、専用のリポジトリの指定したプロジェクトのみが公開されるようにするために--export-allと--user-pathをはずしました。
---------------------------------------------
#disable = yes
disable = no
#server_args = --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose
server_args = --base-path=/var/git --syslog --inetd --verbose
---------------------------------------------

・xinetdの自動起動設定と再起動
chkconfig xinetd on
service xinetd restart

以上で器はできました。



で個別プロジェクトのリポジトリの作成方法は以下のとおりです。
以下ではsampleというプロジェクトを作っているものとします。

・プロジェクト用の供用リポジトリの作成
cd /var/git
mkdir sample.git
cd sample.git
git --bare init --shared
cd ..
chgrp -R gitrepo sample.git
認証なしで公開する場合は以下も実行
touch sample.git/git-daemon-export-ok



で、実際にクライアント側からソースの初期登録を行う例です。
別途クライアント側から実行するものとします。 
初期データとしてsampleディレクトリに登録するものがある場合です。
リポジトリがあるサーバをgit.server.comとします。

・初期登録
cd sample
git init
git add .
git commit -m "first commit"
git remote add origin ssh://git.server.com/var/git/sample.git
git push origin master



ついでなので、リポジトリからソースを取得して変更するときの例です。

・取得と変更
git clone ssh://git.server.com/var/git/sample.git sample
cd sample
適当に変更
git add .
git commit -m "change test"
git push origin master

ちなみにgitプロトコルで公開設定したリポジトリにgemを登録しておけば、
bundler利用の場合だったら以下のように指定することでgemインストールすることができます。

gem 'sample', :git => 'git://git.server.com/sample.git'






2012-08-24

svn commitするとE492: Not an editor command: Bundle ...なエラーが出るとき

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
どうやら最近は、vimを使う時はVundleとやらを導入するのが流行っているのかなと思って真似っ子してみました。

以下のサイトなどを参考にしてdotfilsというディレクトリを作って、そのディレクトリをバージョン管理で管理してみました。
http://d.hatena.ne.jp/oovu70/20120324/p1

で普通に
vi aaa
とかする分には何も問題ないのですが、

svn commit
をしてviを起動させてcommitログを記述する際に

E492: Not an editor command: Bundle....

みたいなエラーが表示されていました。

まぁ、commitする時だけ我慢すればよいかなぁと思っていたのですが
ちょっと探してみたところgitでも同じことが起こるケースがあるようです。
https://github.com/gmarik/vundle/issues/168
どうやら利用するeditorの指定をviではなくvimとしないといけないようです。

gitの場合は
git config --global core.editor "vim"
とすれば良さそうです。

svnの場合は、環境変数でSVN_EDITORで指定しているので
今まで

export SVN_EDITOR=vi

としていたものを

export SVN_EDITOR=vim

にしたら、エラーがでなくなりました。



2011-09-15

CentOS5にRMagickをサクっとインストールする

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
CentOS5.4にRMagickをインストールしてみました。

以下のような感じでサクっとインストールできます。

yum install ImageMagick
yum install ImageMagick-devel
wget http://elders.princeton.edu/data/puias/unsupported/5/i386/msttcorefonts-2.0-1.noarch.rpm
rpm -ivh msttcorefonts-2.0-1.noarch.rpm
ln -s /usr/share/fonts/msttcorefonts /usr/share/fonts/default/TrueType
gem install rmagick -v 1.15.13

RedmineでRMagickを使うようなので入れてみたのでした。

2011-07-28

windows環境にrubyをインストール。ついでにexerbもインストール

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
windows環境にrubyをインストールする手順です。

http://rubyinstaller.org/downloads
からRubyInstallerを取得します。
ここでは
rubyinstaller-1.9.2-p290.exe
をダウンロードしたと仮定して話を進めます。

rubyinstaller-1.9.2-p290.exeをダブルクリックします。
インストール場所をc:\rubyにして、PATHを通すとかは全部とりあえずチェックします。
rubyはこれで完了です。

このままだとgemでインストールするときにmakeされるようなものは、うまくインストールできません。

なのでgemでいろいろインストールするときに困らないようにするために
http://rubyinstaller.org/downloads
からDevelopment Kitもダウンロードしてインストールします。 c:\ruby\DevKit というディレクトリを作成します。
ここでは
DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe
をダウンロードしたと仮定します。

c:\ruby\DevKit
に
DevKit-tdm-32-4.5.2-20110712-1620-sfx.exe
を配置してダブルクリックしてファイルを解凍します。

コマンドプロンプトで
ファイルを配置したディレクトリに移動してから
cd c:\ruby\DevKit
以下を実行
ruby dk.rb init

これで
config.ymlが作成されるので内容を確認します。
rubyがインストールされている
- C:/Ruby
が記載されていることが確認できればOKです。

そしてもう一度コマンドプロンプトで
ruby dk.rb install
を実行すればOKです。

あんまり使うことなさそうですが、いざというときに
便利そうな気がするrubyスクリプトをexe化するツールexerbもインストールしておきます。
http://exerb.sourceforge.jp/
からファイルを取得します。
ここでは
exerb-5.3.0.zip
をダウンロードしたと仮定します。

exerb-5.3.0.zipを解凍して
作成されたディレクトリの中の
bin/post-setup.rb
の6行目を
if /mswin32|mingw32/ =~ RUBY_PLATFORM
のように変更します。
これはWindows環境にRubyInstallerでRubyをインストールした場合、
exerbのbatファイルがうまく作成されないので修正をしています。

そして
setup.rb
をダブルクリックして実行すればインストール終了です。





2011-07-26

sshとapacheの認証でActiveDirectoryと連携する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
CentOSの環境でsshでログインする際に
Windows環境のドメインネットワークがあって、
そこのパスワードを利用してログインできるようにする方法です。

よくあるのはLDAPでの連携のようなのですが、なんかLDAP側でもなんかしなくてはいけない気配です。
なのでケルベロス認証の方で連携を行います。

ActiveDirectoryの構築に関しては特に説明はなしです。

rootユーザで実行します。
su

pam_krb5をインストール
yum -y install pam_krb5

連携する設定
authconfig-tui
---------------------
ユーザ情報:
認証:
「MD5 パスワードを使用」にチェック
「シャドウパスワードを使用」にチェック
「Kerberos 5 を使用」にチェック
「次」
レルム:MY_DOMAIN ← 利用するWindowsドメイン名
KDC:pdc.xxx.jp:88 ← プライマリードメインサーバ
管理サーバ:pdc.xxx.jp:749 ←プライマリードメインサーバ
DNS を使用してレルムのホストを解決する:チェック
DNS を使用してレルム用の KDC を見付ける:チェック
「OK」
---------------------

authconfig-tuiで設定を行うと以下のファイルに設定内容が反映されます。
/etc/krb5.conf
/etc/pam.d/system-auth

CentOS上にWindowsドメインネットワーク上のユーザと同名のユーザを作成
パスワードの設定は不要です。
useradd -m user1

とりあえずローカルホストに接続して連携できているかを確認
ssh localhost -l user1


接続がうまくいかない時などはdebug情報を出すには
/etc/pam.d/system-auth
を編集して以下のようにdebugを追加すると
---------------------------
auth sufficient pam_ldap.so use_first_pass debug
---------------------------
/var/log/secure
に出力されます。


ついでにapacheでも連携する方法です。
mod_auth_kerbを利用します。

apacheインストールの説明は別途検索してください。
また上記のsshの設定が済んでいることが前提です。

mod_auth_kerbをインストール
yum -y install mod_auth_kerb

設定
vi /etc/httpd/conf.d/auth_kerb.conf
以下のような感じで設定
-----------------------------
<location /test_krb_auth>
AuthType Kerberos
AuthName "Kerberos Login"
KrbAuthRealms MY_DOMAIN ← 利用するWindowsドメイン。sshで指定したのと同じ
KrbVerifyKDC Off
KrbMethodNegotiate Off
require valid-user
</Location>
-----------------------------

これでREMOTE_USERに
username@my_domain
のようにrealm付きでセットされるようになります。

ちなみにmod_auth_kerbのversionが5.4以上ならば
KrbLocalUserMapping On
とすることで上記の@以降のrealmが除去される模様です。

2011-07-07

「プログラマが知るべき97のこと」を読んだのです

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

これを読みました。

で気になった部分のメモです。



・問題解決のための指示、ヘルプテキストなどは、問題が起きているまさにその箇所に表示されないと意味がありません。ユーザの視野が狭くなっているので、ヘルプメニューよりもツールチップの方が有用なのです。

・ユーザが求めているものを正しく知るには、言葉を聞くよりも、彼らの行動を観察するのがいいのです。彼らの求めるものを頭で考えて1日過ごすより、わずか1時間でも観察した方が得るものは多いのです。

・コードの整形処理をビルドプロセスに含めてしまう。

・モジュールをチェックインする際には、必ずチェックアウトする時よりも美しくする

・他人よりまず自分を疑う

・コードレビューの目的は、ただコードの誤りを修正するだけではありません。重要なのは、チーム全員に同じ知識を共有させること、またコーディングにおいて全員が守るべきガイドラインを確立することです。

・カプセルかとは結局のところ、インターフェースを狭くするということである。

・書くのに苦労したコードは、読むのにも苦労する

・入念に計画された訓練では得意なことに取り組むのではない。自分を鍛え、少なくともまだ得意でないことに取り組むのである。楽しいとは限らない。

・コードに何かテキストを入力する時は--コメントであれ、あるいはログ、ダイアログ、テストデータであれ--常に「これがもし公になったとして問題にならないか」と自問せよ。

・自分が知らない仕事、自分の直接関わっていない仕事をしている人を尊重するということが大事です。

・APIを提供するときは、API自身のテストだけでなく、必ずそのAPIを利用するコードのユニットテストも書く

・プロはただ、がむしゃらに働けばいいというものではありません。プロの仕事には、入念な準備と効率化のための努力、そして日々の反省と絶え間ない変化が必要なのです。

・優秀なプログラマはプログラミング言語を巧みに操るだけでなく、自然言語も非常にうまく使うことができます。

・ソフトウェア見積もりの主目的は、プロジェクトの結果を予言することではない。見積もりを行うのは、プロジェクトのターゲットがコントロールによって達成可能な程度に現実的なものかどうかを判断するためである

・正しい使い方を簡単に、誤った使い方を困難に

・他人の書いたコードを読むのが辛いのは、他人が書いたコードがひどいからではなく、思考や問題解決の方法が自分と違っているからです。しかし他人の書いたコードを読むことは自分の成長につながるのです。

・プログラミングにおける「再利用」を重視する人は多いですが、いつ、何を、どのように再利用すべきかがわからなければ、良い結果になりません。それをわかるためには、問題領域について、またアルゴリズムとデータ構造について、十分な知識が必要なのです。

・いつも「このコードは生涯、自分がサポートし続けなくてはならない」と思ってコードを書く。

・コードを見る人のためにテストを書く

・良いテストはドキュメントのようなはたらきをします。テスト対象となるコードについて知るのに役立つのです。「このコードはどう動くのか」を教えてくれるのが良いテストです。

・プロジェクトが始まったらコードネームを決めましょう。

・プログラマが持っておくべきスキルをあえて3つあげるとすれば、(1)コードを読むスキル、(2)テストをするスキル、(3)デバッグをするスキル、だと考えます。

2011-03-03

subversionでファイル一覧やら変更履歴やらを出す

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
いまどきはgitなのだと思うのですがsubversionを使っています。

でたまに管理しているファイル一覧やら変更履歴やらが欲しくなります。

ファイル一覧では、ファイルごとの最終変更日時なりがわかるとうれしかったりします。
変更履歴では、リビジョンごとのメッセージだけでなく、そのとき変更されたファイルなども一緒にわかったりするとうれしかったりします。

これらをわかるような資料を作るためには、
TortoiseSVN
を使うとステキです。

それぞれ以下のような感じです。

・ファイル一覧
一覧を出力したトップのところで右クリック
TortoiseSVN-Check for modifications
を選択して、出てきた画面上で
Show ignored file以外にチェックを入れる
そしてファイル一覧が出てくるので全選択して右クリック
Copy all infomation to clipboard
してコピーしておきます。
そして、エクセルに貼り付けて不要カラム除去などを行っていい感じの資料にします。

・変更記録
一覧を出力したトップのところで右クリック
TortoiseSVN-Show log
revisionの最初と最後をシフトを押しながら全選択して右クリック
Copy to clipboard
してコピーしておきます。
エクセルになりなんなりに貼り付けます。

こんな感じです。


2010-07-09

Windows 7にアップグレード

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
今までVistaを使っていました。

Vistaの遅さにはすごくイライラずっとしていて、とうとう我慢できずにWindows 7にアップグレードしました。


今までの設定を継承させる形でアップグレードしました。
アップグレード自体は3時間程度かかり、ちょっとイラっとしてみました。

継承できなかったのは、メールだけですが別途WindowLIVEメールを入れたら
完全に継承できました。
メールソフトは今までつけていたのだから付けておいてもらいたいなぁと思ったりします。
デフォルトで入らなくてもいいけど、今まで使っていたらアップグレードするぐらいはしてもらいたい感じです。

アップグレードしてWindows7にしてみると動作は快適です。
特にVistaのFirefoxはたまに恐ろしく遅くなることがあったのですが、Windows7でのFirefoxはそこまで遅くなる感じはないです。

アップグレードの値段がもっと安ければ、とっくにアップグレードしているのに・・・
という感じです。

2009-06-14

Google App EngineでDjangoを利用する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
Google App Engine for javaを勉強しようかなぁと思っていましたが、気が変わりDjangoの方を勉強してみようと思い立ったのです。

ちなみに開発環境はwindowsです。

Google App Engineには、0.96.1のDnangoが
C:\Program Files\Google\google_appengine\lib\django
にあったりして、そのまま利用できるバージョンはこのバージョンのようですが、
最新は、1.0.2のようです。
なので、この1.0.2が利用できてeclipseで開発できる環境までを構築してみました。

pythonはインストール済みなのが前提です。

最初に、Djangoをインストールします。
http://www.djangoproject.com/download/
から
Django-1.0.2-final.tar.gz
を取得して解凍します。
コマンドプロンプトで解凍したディレクトリの中の
Django-1.0.2-finalのディレクトリに移動して
python setup.py install
を実行します。

更にこのディレクトリ内のdjangoディレクトリをzip圧縮したdjango.zipを作っておきます。

Djangoが正しくインストールできたことを確認するためにコマンドプロンプトで
C:\Python25\Lib\site-packages\django\bin\django-admin.py --version
(PythonがPython25にインストールされている場合です)
を実行して
1.0.2 final
と表示されることを確認します。

Google App EngineをDjangoを利用するには、
Google App Engine Helperを利用すると便利なようなので利用します。
http://code.google.com/p/google-app-engine-django/downloads/detail?name=appengine_helper_for_django-r86.zip&can=2&q=
から
appengine_helper_for_django-r86.zip
を取得して解凍します。

Djangoでは、プロジェクトという単位が一番大きな管理単位のようです。
そのプロジェクトを作成します。
ここではC:\temp\pythonとします。
プロジェクトのためのディレクトリを作成します。
ここでは
test_django
とします。

このディレクトリに
helperのzipを解凍してできたディレクトリの中身をコピーします。
また、このディレクトリを事前に作っておいたzip圧縮して作成したdjango.zipもコピーします。

helperをwindowsで利用するには、
http://sourceforge.net/projects/pywin32
にある
pywin32-212.win32-py2.5.exe
を取得してインストールしておく必要があるようです。
(参考:http://code.google.com/intl/ja/appengine/articles/appengine_helper_for_django.html

helperが動作することを確認します。
コマンドプロンプトでDjangoプロジェクトのディレクトリに移動します。
cd C:\temp\python\test_django
Djangoのサーバーを起動します。
python manage.py runserver
そして
http://localhost:8000
にアクセスしてDjangoのページが表示されることを確認します。
また、
http://localhost:8000/_ah/admin
で、Google App Engineのadminページも利用できることも確認します。

ここまでの内容は、
http://code.google.com/intl/ja/appengine/articles/appengine_helper_for_django.html
http://mars.shehas.net/~tmatsuo/misc/appengine_helper_for_django-ja.html
が参考になります。

次にeclipseで作成したDjangoプロジェクトを開発できるようにします。
私はEclipseは3.3を利用しています。
そしてPythonが開発できるためのPydevはインストール済みのものとします。

eclipseを起動して
「ファイル」-「新規」-「プロジェクト」を選択
「Pydevプロジェクト」を選んで「次へ」
djangoプロジェクトを作成したディレクトリを
プロジェクト・コンテンツのディレクトリーに指定
(ここではC:\temp\python\test_django)
プロジェクト名を作成したdjangoプロジェクトと同じにする
(ここではtest_django)
デフォルトのsrc・・・のチェックをはずす
そして「完了」
これでeclipseでDjangoプロジェクトが見れるようになります。

次に、manage.pyでrunserverが動作するようにします。

作成されたプロジェクト名を右クリック
「プロパティ」を選択
「Pydev」-「PYTHONPATH」-「Project source folder」-「ソースフォルダの追加」
でプロジェクトのディレクトリを指定する
(ここではtest_django)

manage.pyを右クリックして
「実行」-「実行ダイアログを開く」
「Python実行」を右クリックして「新規」を選択
 「プロジェクト」にdjangoプロジェクトを選ぶ(ここではtest_django)
 「メイン・モジュール」にmanage.pyを選ぶ
「引数タブ」をクリックして
 「program argument」にrunserverを記述し
 「作業ディレクトリ」-「その他」を選択してワークスペースをクリックしてプロジェクトのルートを選択する(ここではtest_django)
そして「実行」をクリックするとhttp://localhost:8000で最初に確認したdjangoのページが見れるようになります。

ちなみに
python.exe manage.py startapp polls
のようにプロジェクトの下に新しいファイルをコマンドプロンプトで追加した場合、
eclipse上でプロジェクトを右クリックして「更新」をすると新しく作成されたファイルが見えるようになります。

こんな感じでは、まずは開発環境を作ってみました。


*最初は、0.96.1でやろうとしましたが、helperの最新版では1.0以上が必要で、更に0.96に対応しているr52では、Google App Engineのバージョンが新しいとなんかうまく使えなかったので使うのをやめました。新しいVersionが使えることに越したことはないですしね。

2009-03-18

ActionScriptを始めてみよう

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
ちょっと最近、flashが気になってActionScriptをちょっと勉強を始めてみました。
一応、制限はありますが携帯でも動いたりといろんなデバイスで動くのがいいなぁと思ったわけです。
で、まずは開発環境ということでFlashDevelopを入れてみました。
手順的には、
http://sothis.blog.so-net.ne.jp/2008-03-26
http://www15.plala.or.jp/kichijitsu/as/flex_ide.html
が参考になります。
私がインストールしたversionは、
flexが3.2.0.3958
FlashDevelopが3.0.0-RC1
です。今のところ問題なく動いています。
ちなみに以下の設定だけしています。

FlashDevelop を起動、F10 を押して Program Settings ダイアログを表示
FlashViewer → External Player Path を flex_sdk_3\runtimes\player\win\FlashPlayer.exe に設定
FlashDevelop→Fallback CodePageをEightBitsからUTF-8に変更します。

まだ漫然といろいろいじっているのですが、以下の2点にとりあえずしっくりこないでいました
が、勝手に納得してみました。(間違っているかもしれないけど)
・なんでループがないのに動くのだ?
 →どうもflashには、普通にフレームというのがあって1/24秒ぐらい毎に常にENTER_FRAMEというイベントが発生するようなので、そのイベントに対してイベントハンドラを設定して動くようなコードを書いてやれば動くらしい。
・なんで再描画していないのに、前の位置のモノが消えて新しい位置にちゃんと描画されているのだ?
 →Spriteオブジェクトというものがどうもそういうものらしい。

なんとなく漫然とやっていてもわからなそうなので、
http://cs3book.flashoop.jp/wiki/index.php?%E7%9B%AE%E6%AC%A1
をじっくり読んでみようと気になったところなのです。

そして

が気になるので、そのうち購入のためにメモ。

2008-09-22

pythonのunitテストをnoseに置き換えてみる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
pythonではnoseというのをunitテストに使うとステキな気配を感じたので、noseを使ってみました。
しかし、いまいちまだ普通のpythonのunittestに比べてのステキっぷりを把握はできていないのですが、今後はnoseを使ってみることにしてみます。

unittestに比べて
assertEqual(a,b)
みたいに書かずに
assert a == b
と書けるのは直感的にわかりやすいなぁとは思うのですが、エラー発生時に渡されている値を確認するためにはnose.toolsのassert_equalを使った方がわかりやすいらしく、結局
assert_equal(a,b)
と書くとあまり違いがわからなかったりするのです。

あとnoseは基本的には、コマンドラインのツールのようでいろいろなオプションを起動時に渡せるようです。
コマンドラインを指定せずにプログラム内に実行の記述を直接するには

if __name__ == '__main__':
arg = ["dummy","-v"]
nose.main(argv=arg)

とかやると起動オプションを渡して実行することもできるようです。

参考にさせていただいたサイトは、
http://makunouchi.jp/zope3/7396323127
です。

2008-05-31

Subversionのインストール

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
なんやかんやとSubversionが利用できる便利そうなのでCentOS4にインストールしてみた。

Subversionをインストールする前にneon(WebDAVクライアント)をインストールしておかないと、どっかのサイトからのファイルをSubversionを利用して落とそうとする際に、
「URL スキームを認識できません」
というエラーがでちゃうことがあるのです。

なので最初はneonをインストール
ちなみにSubversion1.4.6で0.28.2は使えないっぽい
wget http://www.webdav.org/neon/neon-0.25.5.tar.gz
tar xvzf neon-0.25.5.tar.gz
cd neon-0.25.5
./configure --with-ssl
make
su
make install

その後、Subversionをインストール
wget http://subversion.tigris.org/downloads/subversion-1.4.6.tar.gz
tar xvzf subversion-1.4.6.tar.gz
cd subversion-1.4.6
./configure --with-ssl
make
su
make install

これでOK