XUnitとは何? わかりやすく解説 Weblio辞書 (original) (raw)
(XUnit から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2010/04/01 07:46 UTC 版)
X線単位 | |
---|---|
記号 | xu |
系 | 非SI単位 |
量 | 長さ |
SI | 約 100.21 fm |
定義 | 18℃の方解石の(200)面の格子間隔の1/3029.04 |
表・話・編・歴 |
X線単位(エックスせんたんい、X-unit, 記号:xu)は、かつてX線・ガンマ線の波長の計測に使用されていた長さの単位である。約 100.21 フェムトメートルに相当する。1925年にスウェーデンの物理学者マンネ・シーグバーンによって定義されたもので、この単位はシーグバーンとも呼ばれる。X単位ともいう。
X線単位は、X線の波長の測定装置で使われる方解石の結晶の格子間隔に基づいて定義したものであるが、実際にその長さを測定することは当時はできなかった。シーグバーンは結晶の密度とアボガドロ数から、摂氏18度の方解石の(200)面の格子間隔を計算し、1000分の1オングストローム(Å)(100フェムトメートル)に相当する値として格子間隔の3029.04分の1をX線単位と定めた。実際には、アボガドロ数の誤差などにより100フェムトメートルよりもわずかに大きい値となっている。
銅X線単位(記号: xu(CuKα1))は銅のKα1輝線の波長として定義されたもので、正確に1537.400 xuであり、その値は 1.00207789×10-13 ± 7.0×10-20 メートルである。同様に、モリブデンX線単位(記号: **xu(MoKα1)**)はモリブデンのKα1輝線の波長として定義されたもので、正確に707.831 xuであり、その長さは 1.00209938×10-13 ± 4.5×10-20 メートルである。
xUnitとは、コンピュータプログラムの単体テスト(ユニットテスト)を行うためのテスティングフレームワークの総称である。これらのフレームワークでは、関数やクラスなど、ソフトウェアの様々な要素(ユニット)をテストすることができる。xUnitフレームワークの主な利点は、テストを自動化できること、同じテストを何度も書かずに済むこと、個々のテストの結果がどうあるべきかを覚えておかなくても良いことである。
このようなフレームワークの最初の実装は、ケント・ベックが開発したSmalltalk用のテスティングフレームワーク**SUnit**である。その後、各コンピュータプログラム言語や開発環境毎に、同様の設計を持つフレームワークが多数作成されている。xUnitそれ自体は非常に単純なプログラムであるが、近年のソフトウェア開発で採用されつつある。JUnit(Java用のxUnit)の項目も参照。
アジャイルソフトウェア開発(エクストリーム・プログラミングなど)においては、リファクタリング・テストファースト等の前提となる重要な要素である。
xUnitの設計
xUnitフレームワークの設計上の特徴は、いくつかの部分に分けられる。言い換えると、以下の特徴をすべて持つテストフレームワークはxUnitフレームワークの一種であるといえる。
テストフィクスチャ
テストを実行、成功させるために必要な状態や前提条件の集合を、フィクスチャ(英語版)と呼ぶ。これらはテストコンテキストとも呼ばれる。開発者はテストの実行前にテストに適した状態を整え、テスト実行後に元の状態を復元することが望ましい。
テストスイート
同じフィクスチャを共有するテストの集合を、テストスイートと呼ぶ。テストスイート内のそれぞれのテストの実行順序は保証されない。
テストの実行
個々のユニットテストは以下のような流れで実行される。
setup(); /* 最初に、テストのためのクリーンな 環境(設定など)を用意する。 / ... / テストの本体。ここですべてのテストを行う。 / ... teardown(); / 最後は、テストが成功したか失敗したかに関わらず、 他のテストやプログラムに影響を与えないよう、 初めに用意したテスト用の環境を元に戻す。 */
setup() と teardown() の各メソッドは、テストフィクスチャの初期化とクリーンアップを行うためのものである。
アサーション(表明、検証)
テスト対象の関数やクラスなどについて、振る舞いや状態を確認するための関数やマクロを、アサーションと呼ぶ。アサーションが失敗した時(実際の実行結果が期待される結果と異なっていた場合)は、一般的には、例外が投げられ現在のテストの実行は中断される。
xUnitの一覧
- JUnit, TestNG(Java用)
- SUnit[→ 1](Smalltalk用)
- CUnit[→ 2], Cutter[→ 3](C言語用)
- CppUnit(英語版)[→ 4], Cutter[→ 3](C++用)
- VBUnit(Visual Basic用)
- DUnit(英語版)[→ 5](Delphi用)
- PBUnit(PowerBuilder用)
- PerlUnit[→ 6](Perl用)
- PyUnit[→ 7], nose[→ 8] (Python用)
- RubyUnit[→ 9][1], Test::Unit[→ 10](Ruby用)
- NUnit(英語版)[→ 11], xUnit.net(英語版)[→ 12](.NET Framework用)
- tclUnit[→ 13](Tcl/Tk用)
- HUnit[→ 14](Haskell用)
- OUnit[→ 15](Objective Caml用)
- PHPUnit[→ 16](PHP用)
- JsUnit[→ 17], MochiKit(MochiKit 英語版Wikipedia)[→ 18](JavaScript用)
- HttpUnit(英語版)[→ 19](HTTPによる通信を擬似的に行う)
- HtmlUnit(英語版)[→ 20](Webベースのアプリケーション用。ウェブブラウザのエミュレータ)
関連項目
脚注
- ^ Test::UnitとしてRuby1.8の標準添付ライブラリに統廃合された。
外部リンク
- ^ Camp Smalltalk SUnit
- ^ CUnit Home
- ^ a b C言語・C++言語用テスティングフレームワーク - Cutter
- ^ CppUnit - C++ port of JUnit download | SourceForge.net
- ^ DUNIT: An Xtreme testing framework for Delphi programs
- ^ PerlUnit: unit testing framework for Perl
- ^ PyUnit - the standard unit testing framework for Python
- ^ GitHub - nose-devs/nose: nose is nicer testing for python
- ^ RubyUnit(Japanese)
- ^ test-unit - a Unit Testing Framework for Ruby
- ^ NUnit.org
- ^ Home > xUnit.net
- ^ TclUnit download | SourceForge.net
- ^ HUnit -- Haskell Unit Testing
- ^ GitHub - gildor478/ounit
- ^ PHPUnit – The PHP Testing Framework
- ^ JSUnit.net – Java Script Testing Tool
- ^ Home - Mochikit.com
- ^ HttpUnit Home
- ^ HtmlUnit – Welcome to HtmlUnit