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>
想定通りのクラスが完成したようです。
次に、メソッドのテストを追加してみましょう。
次に、メソッドのテストを追加してみましょう。