試験用資源
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/25 07:27 UTC 版)
SUnitでは複数の試験ケースで共有する資源の初期化と破棄を管理する仕組みとして試験用資源が存在する。試験用資源もクラスとして記述しDB接続等に利用される。 次にDB接続を管理する試験用資源の例を記述する。 "(1)"TestResource subclass: #SomeResource instanceVariableNames: 'connection' classVariableNames: '' poolDictionaries: '' category: 'Example'. SomeResource createGetMethod: 'connection'; createSetMethod: 'connection'.SomeResource methodsFor: 'setUp-tearDown'!setUp "(3)" super setUp. self connection: ( DBI.Connection connect: 'DBI:PostgreSQL:dbname=somedb:host=localhost' user: 'someone' password: 'password' ).!tearDown "(3)" self close. super tearDown.!!TestCase subclass: #SomeTest instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Example'.SomeTest methodsFor: 'accessing'!resources "(2)" ^ Array with: SomeResource.!!SomeTest methodsFor: 'test'!testSome "(4)" ( SomeResource current connection select: 'select * from SomeTable' ) do: [ :row | self assert: 0 = row at: 'SomeColumn'. ].!! 試験用資源は基本的に試験ケースと同じで試験ケースの基底クラスを(1)の様なTestResourceに変更し、試験メソッドを無くしたクラスになっている。試験用資源は(2)の様に試験ケースに#resourcesというセレクターを持ったメソッドを登録することで紐づけることができ、試験用資源に紐づいた全ての試験ケースが始まる前と後に(3)の#setUpと#tearDownを実行する。(4)の様に試験用資源に#currentメッセージを送ることで試験ケースから試験用資源を参照できる。
※この「試験用資源」の解説は、「SUnit」の解説の一部です。
「試験用資源」を含む「SUnit」の記事については、「SUnit」の概要を参照ください。
- 試験用資源のページへのリンク