アットウィキロゴ
lazybones @Wiki
掲示板 掲示板 ページ検索 ページ検索 メニュー メニュー

lazybones @Wiki

cosUnitTest5

最終更新:

匿名ユーザー

- view
メンバー限定 登録/ログイン

UnitTest WEB上でのテスト結果の表示

http://127.0.0.1:1972/csp/samples/%UnitTest.Report.cls?NS=USER&INDEX=30
で、今の結果が表示されます。
また、
http://127.0.0.1:1972/csp/samples/%UnitTest.Report.cls?NS=USER
でUSERネームスペースで行われたテストの一覧が表示されます。

この機能は非常に有効であると思われます。PMは、このページを確認することによってテストの状況を確認することが可能です。

では、Cache Object ScriptでのUnitTestの概要が理解できたところで、もう一度、テスト内容を完全なものにしてみましょう。

以下の様にテストを変更します。

Include %outUnitTest

/// Unit Test for Human Class
Class Sample.FirstUnitTest Extends %UnitTest.TestCase [ ProcedureBlock ]
{

Method TestConstructor()
{
	set p = ##class(Sample.Human).%New()
	set p.name = "Taro Yamada"
	set p.height = 180
	DO $$$AssertEquals(p.name,"Taro Yamada","My name is "_p.name)
	DO $$$AssertEquals(p.height,180,"My height is "_p.height)
}

}

これで、Humanクラスのインスタンスを作成して、nameプロパティ、heightプロパティをセットしその値が正しくセットされているか確認しています。
テストの結果は、
USER>do ##class(%UnitTest.Manager).RunTest ("Human:Sample.FirstUnitTest","/load=0/recursive=0/nodebug")

===============================================================================
Directory: c:\cache\unittests\human\
===============================================================================
Human begins ...
Skipping loading testsuite Human
  Sample.FirstUnitTest begins ...
    TestConstructor() begins ...
      AssertEquals:My name is Taro Yamada (passed)
      AssertEquals:My height is 180 (passed)
      LogMessage:Duration of execution: .000354 sec.
    TestConstructor passed
  Sample.FirstUnitTest passed
Human passed

Use the following URL to view the result:
http://127.0.0.1:1972/csp/samples/%UnitTest.Report.cls?NS=USER&INDEX=37
USER>
想定通りのクラスが完成したようです。
次に、メソッドのテストを追加してみましょう。
記事メニュー
最近更新されたスレッド
ウィキ募集バナー