autocad でユニットテスト

11
わわわわわわ わわわわわわ #07 AutoCAD わわわわわわわわ わわわわわわわわ わわわわ guicheng

Upload: raymond-anderson

Post on 31-Dec-2015

23 views

Category:

Documents


3 download

DESCRIPTION

AutoCAD でユニットテスト. guicheng. 株式会社ミネルバ 深津貴成. 自己紹介. HN: guicheng 専攻 : 分析化学 ( 水溶液中の超微量金属の定量 ) 趣味 : 天文 ( 低軌道から太陽系外縁くらいまで ) 本職 : プログラマ (AutoCAD のカスタマイズ ). なぜ CAD をカスタマイズするのか. 使いにくいから. なぜ CAD をカスタマイズするのか. 業界、会社ごとに作図の作法がある 設計者にも作図のクセがある. 汎用の CAD では対応不可能. AutoCAD のカスタマイズ API. メニュー - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

AutoCAD でユニットテスト

株式会社ミネルバ深津貴成

guicheng

Page 2: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

自己紹介

• HN: guicheng• 専攻 : 分析化学 ( 水溶液中の超微量金属の定量 )

• 趣味 : 天文 ( 低軌道から太陽系外縁くらいまで )

• 本職 : プログラマ (AutoCAD のカスタマイズ )

Page 3: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

なぜ CAD をカスタマイズするのか

使いにくいから

Page 4: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

なぜ CAD をカスタマイズするのか

• 業界、会社ごとに作図の作法がある– 設計者にも作図のクセがある

汎用の CAD では対応不可能

Page 5: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

AutoCAD のカスタマイズ API

• メニュー• Decel 式• AutoLISP• AutoCAD VBA• ObjectARX• .NET API

Page 6: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

AutoCAD のカスタマイズ

• カスタムコマンドの作成が基本• コマンドラインウィンドウがある• 大半が図面 DB への処理

– GUI を作ることはほとんどない

ユニットテストと相性がいい

Page 7: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

NUnit のテスト結果出力

• テスト結果は Console.Out か Console.Error に出力される

• どちらも任意の TextWriter に差し替え可能

コマンドラインウィンドウに出力する TextWriter を作ればいいん

じゃね?

Page 8: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

AcadWriter を作ってみた

エラー吐きまくって使い物にならねぇ orz

そんでも、 Assert 系のクラスは問題なく使える

Page 9: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

NUnit の構造

Runner を作ってやればいいんか?

CmmandMethodUser

TesterUser

AssertionException

FrameworkNUnit

RunnerNUnit

Page 10: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

AcadRunner を作ってみた

\(^^)/

Page 11: AutoCAD  でユニットテスト

わんくま同盟 名古屋勉強会 #07

実はいろいろやってます

• 属性使ってテストクラス・テストメソッドを特定

• テスト後に図面 DB をロールバック• SetUp / TearDown 対応 などなど

問題点もまだまだいっぱい orz

• 別図面を読むテストではロールバックできない

• NUnit のすべての機能に対応できていない• NUnit がバージョンアップされるとお手上

げ修正に努めます……