[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 05/09 18:34 / Filesize : 52 KB / Number-of Response : 261
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

CPPUnitについて少し話そうかい



1 名前:デフォルトの名無しさん [03/01/12 17:02]
テスト自動化全盛のこのご時世皆様いかがお過ごしでしょうか。
より賢い利用法を考えていきませんか。

2 名前:デフォルトの名無しさん mailto:sage [03/01/12 17:03]
より賢い利用法を教えてください。

なら初心者のポケミスとして酌量の余地もあったが・・・。

3 名前:デフォルトの名無しさん mailto:sage [03/01/12 17:06]
>>1
リンクぐらい張れよ。あと折角だから JUnit とか、C++ 以外のユニット
テストフレームワークも含めん?

CppUnit
cppunit.sourceforge.net/

CppUnit-x: Testing Framework for C++
member.nifty.ne.jp/glad/cpp/test/

xUnit リンク集
www.xprogramming.com/software.htm

4 名前:デフォルトの名無しさん mailto:sage [03/01/12 17:19]
CPUUnitがどうかしたのか?

5 名前:デフォルトの名無しさん mailto:sage [03/01/12 17:20]
C++はリフレクションが無いからクソ。

6 名前:デフォルトの名無しさん mailto:sage [03/01/12 18:14]
XPなんか必要ない

7 名前:デフォルトの名無しさん mailto:same [03/01/12 18:40]
>>5
リフレクションってなに?

8 名前:デフォルトの名無しさん mailto:sage [03/01/12 18:46]
>>6
ユニットテストとリファクタリングは XP 以外にも有用なアクティビティだよ。

9 名前:デフォルトの名無しさん [03/01/12 18:50]
Junitを使いたいんだけど、
解説してる本とかWEBサイトとかが
ないから使えないんだよね。

SEな人たちは、そこの研修で教えてもらってるから
いいよね。

10 名前:デフォルトの名無しさん mailto:sage [03/01/12 18:54]
>>9
いくらでもあると思うが。
www.google.co.jp/search?q=junit&ie=UTF-8&oe=UTF-8&hl=ja&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja



11 名前:デフォルトの名無しさん [03/01/12 20:10]
CppUnitの日本語解説サイトってないですか?
XPテスト技法とかみてもちょっとしか載ってないし、英語サイトは難しいしで。

12 名前:デフォルトの名無しさん [03/01/12 20:23]
>>11
ぐぐってみた?

13 名前:デフォルトの名無しさん [03/01/12 20:29]
>>12
ぐぐったけど、ちょっとしかでなかった。
そこもさわりぐらいしか書いてないし。

14 名前:デフォルトの名無しさん mailto:sage [03/01/12 20:29]
800⊂(゚∀゚ )  

15 名前:デフォルトの名無しさん mailto:sage [03/01/12 20:32]
>616
それが争点になればねぇ・・
ドキュソを証明するのは簡単なんだけど、それを判断する香具師がオールドタイプだから・・


16 名前:デフォルトの名無しさん mailto:sage [03/01/12 20:42]
あはっ

たとえば、1スレをIEとかのブラウザで表示するのに
何秒かかりますかー(スレの大きさによるけど)
それの 10,000倍くらいかかるかと。

あと倉庫の一覧表とかも全部書き換えるし
html化と同時に datのzip化 および出来た htmlの
zip化も同時に行われますー

さてさて どれくらいかかるのやら。。。

17 名前:デフォルトの名無しさん mailto:sage [03/01/12 21:09]
>>5
べつにリフレクションとかなくたって、テストメソッドを集めて
addTest するようなコードをはきだすスクリプトを書けばよいだけの話。

それより、子河童ってなによ?誰か説明きぼん。

18 名前:ななし mailto:sage [03/01/12 21:35]
削除以来だしとけ。

19 名前:デフォルトの名無しさん mailto:sage [03/01/12 23:17]
えぴすてーめー氏は 2ch 見てないのかな。

>>17
sourceforge.jp/projects/cuppa/
CppUnit 用のコードの雛型を生成してくれる。


20 名前:デフォルトの名無しさん [03/01/13 09:56]
CPPUnitのテストって結局ある変数がある値になっているかどうかしか判定できないの?
入力データで処理がいくつかに分かれる場合はテストも複雑になって正確なテストができるとは思えんのだが。



21 名前:デフォルトの名無しさん mailto:sage [03/01/13 11:00]
>>20
基本は、C++処理系が用意している assert よりもエレガントな処理を
してくれる assert を提供してくれるってことだよね。
assert の中は何を書いてもよいわけで、別に変数の値チェックに限られる
わけではない。
たとえば、処理の途中経過をテキストダンプして、あらかじめ作成しておいた
正しいダンプ結果との差分をチェックしてもよい。
assert( system( "diff …" ) == 0 ) ってな感じで。

22 名前:デフォルトの名無しさん mailto:sage [03/01/13 11:15]
みなさんはGUI経由の入力値をチェックするにはどうしてますか?

23 名前:20 [03/01/13 11:30]
>>21
なるほど。
でもデータによって無限にパターンがある場合ってどうしてますか?
DBからデータを取ってきてそれによって処理が代わったりする場合とか。

24 名前:デフォルトの名無しさん mailto:sage [03/01/13 11:41]
つかえねー

25 名前:デフォルトの名無しさん [03/01/13 14:13]
>>5
typeid演算子とかtype_infoクラスでは役不足?

26 名前:デフォルトの名無しさん mailto:sage [03/01/13 14:59]
はっきりいって力不足です。
最低限クラス内のtestXXX()メソッド列挙する機能が必要。

27 名前:デフォルトの名無しさん [03/01/13 15:33]
>>26
それって適当なスクリプト書いてそういうファイルを自動生成するようにすれば
いいだけじゃないの?


28 名前:デフォルトの名無しさん mailto:sage [03/01/13 15:38]
>>27
ついでに、プログラムの方も「入力を拾ってくる」ところと「入力を
処理する」ところを分離しておくのが吉だよな。

逆に言うと、そういう粒度の細かい設計にしてないと、単体テストは
有効に使えない。

29 名前:デフォルトの名無しさん mailto:sage [03/01/13 15:39]
>>28
MVCのVとC?

30 名前:デフォルトの名無しさん mailto:sage [03/01/13 16:03]
>>27
いちいちフィルタかますの遅いし面倒だしテンポ悪いし。
それにクラス参照ないのも×



31 名前:デフォルトの名無しさん [03/01/13 16:15]
>>30
遅いならCで書きゃ問題ないだろ。普通のコンパイル時間に比べれば微々たるもんだ。
っていっても別に使いたくない人に無理やり使わす気はないけど。
ただ単体テストで他に良い方法がないのが事実だから。

32 名前:デフォルトの名無しさん mailto:sage [03/01/13 16:23]
>>31
別に使い物にならないとはいってないよ。
ただ言語仕様が腐ってるからフレームワークが
不便かつ不自然に歪んでるというだけで。

33 名前:デフォルトの名無しさん mailto:sage [03/01/13 16:36]
>>23
自動的に完全な同値分割やC1カバレージのテスト生成しても、
テストの数が多すぎて見たくもなくなる。

同値分割は意識しないといけないけど、
そのメソッドの仕様として必要である(と思った)分だけのテストを作る。

ユニットテストが不必要に複雑になるときにはメソッドを分割するなど設計を変更すべき。

34 名前:デフォルトの名無しさん mailto:sage [03/01/13 17:14]
>> 32
> 不便かつ不自然に歪んでるというだけで。
リフレクションといっても、UnitTest で使ってるのはせいぜいテスト用
メソッドの一覧作成ぐらいだろ? (CppUnit-x だと suite() メソッド
を手で書くか、自動生成するかの違い)

その程度、Perl あたりでスクリプト書けばすぐに解決だと思うが。っつ
か、俺は Perl + Makefile でよろしくやってます。

35 名前:山崎渉 mailto:(^^)sage [03/01/13 18:30]
(^^)

36 名前:デフォルトの名無しさん mailto:sage [03/01/13 22:09]
人を人と思わないコイツらの死に様は悲惨だろうな

37 名前:デフォルトの名無しさん mailto:sage [03/01/14 01:49]
言語別にスレ立てるなよ。>1

38 名前:山崎渉 mailto:(^^)sage [03/01/15 17:50]
(^^)

39 名前:デフォルトの名無しさん [03/01/17 22:29]
>>37
別にいーじゃん。一番需要が多い言語だし。

40 名前:デフォルトの名無しさん mailto:sage [03/01/18 23:11]
>>39
需要が多いってどういう意味だい?
C++ で仕事してる人間は(VBやCOBOLやJavaに比べれば)すごく少ないはずだが?



41 名前:デフォルトの名無しさん mailto:sage [03/01/19 00:21]
> C++ で仕事してる人間は(VBやCOBOLやJavaに比べれば)すごく少ないはずだが?
ソースぷりーず。

いや否定してるワケじゃなくて、プログラミング言語別のプログラマ人口って
どんなもんかと思ってさ。

42 名前:デフォルトの名無しさん mailto:sage [03/01/19 10:33]
>>41
使ってるかはともかく教養として知ってないと何かと大変だと思うけどね。

43 名前:山崎渉 mailto:(^^)sage [03/01/23 20:11]
(^^)

44 名前:デフォルトの名無しさん [03/01/25 18:44]
VBやJavaの需要なんてほとんどないだろ。
VBは開発補助用のツール作り。
Javaも限りなく少ない。

45 名前:デフォルトの名無しさん mailto:sage [03/01/25 18:46]
>>44
世間知らずなCOBOLerの憂鬱。 完

46 名前:40 mailto:sage [03/01/26 16:22]
>>41
ゴメン、ソースどこか忘れちゃった。
なんか COBOLer + VBer で全世界のプログラマの 50% 以上だとかなんとかって
結果だったと思う。

誰か該当ソースぷりーず(--;

47 名前:デフォルトの名無しさん mailto:sage [03/01/26 23:36]
ソースはないが世界規模ではCOBOLerは多いらしい。

が、サーバサイドJavaやらASPやらの受注が多いのも事実で

そういった仕事が多い=VB&Java使いが多い

という認識をしている人が*日本では*大半じゃないかと。

48 名前:デフォルトの名無しさん mailto:sage [03/01/26 23:47]
>>46-47

コボルが書ける人=コボルしか書けない人

ではないと思うんだがどうか。

49 名前:47 mailto:sage [03/01/27 12:33]
俺も

VB&Java使い=VB&Java*しか*書けない人

とは言ってないけどな。
主にその言語を仕事として使っている(or 使わねばならない)人って意味だろ?

50 名前:デフォルトの名無しさん mailto:sage [03/01/27 13:55]
サーバサイドということになると、Javaよりperlやphpの方が多かったりしてね。



51 名前:デフォルトの名無しさん mailto:sage [03/01/28 02:10]
頼むからさー
C++使ってなくて、さらにCPPUnit使う気ないヤツはスレから出てってくれよ

52 名前:デフォルトの名無しさん mailto:sage [03/01/28 02:22]
あるから何かネタ振れ

53 名前:デフォルトの名無しさん mailto:sage [03/01/28 03:09]
全くだ。
実際にCppUnit使って開発はしてるが、ここで喋るネタなんてないしな。

54 名前:デフォルトの名無しさん mailto:sage [03/01/28 09:58]
ぼーとした頭で「VB&Java」という文字列を見て、「ああ? Javaっていう
VB型の参照がどうしたんだ?」とか一瞬思ってしまったが、よく考えると
あながち間違いでもないのか?

55 名前:デフォルトの名無しさん [03/02/02 01:04]
未経験者を啓蒙するような内容はありませんかねぇ

56 名前:デフォルトの名無しさん mailto:sage [03/02/02 01:07]
XP周りのサイトあたってみたら。

57 名前:デフォルトの名無しさん mailto:sage [03/02/02 04:45]
どうも使うのが面倒なんだよな。
JUnitはeclipseからウィザード起動するだけでいいのに。

58 名前:デフォルトの名無しさん [03/02/19 23:37]
VBAUnitをだれか一緒に作りませんか?

59 名前:デフォルトの名無しさん [03/02/21 21:31]
>>58
www.rapid-programming.com/vbaunit/vbaunit.zip

60 名前:デフォルトの名無しさん [03/02/23 16:52]
皆、cuppaっての使ってるのかな



61 名前:デフォルトの名無しさん [03/02/23 19:21]
>>60
何言ってんだ、お前

62 名前:デフォルトの名無しさん mailto:sage [03/02/23 21:20]
www.unittest.org/
ってどうなの?

63 名前:デフォルトの名無しさん mailto:sage [03/02/23 21:23]
TestingFrameworkのクラス構成って変じゃない?
何で素直にCompositeにしないの?

64 名前:デフォルトの名無しさん [03/04/02 13:03]
Foo::Foo()
{
 // ものすごく、たくさんのオブジェクトを生成。インクルードしたファイルや、
// 実行時に読み込まれるファイルの内容に依存。
}
Foo::doSomething()
{
 // なにやら処理
}
↑こんなソースがあって、doSomething() メソッドを単体テストしたいんです。
# Foo クラス自体を書き直すのがベストなんですけどね。
単純なコンストラクタを持つ Foo のサブクラス FooSub を作り、
ダミーのオブジェクトを持たせておいて、
FooSub.doSomething() をテストするっていうのは、いけないことですか?

65 名前:山崎渉 mailto:(^^) [03/04/17 15:46]
(^^)

66 名前:山崎渉 mailto:(^^)sage [03/04/20 04:20]
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

67 名前:山崎渉 mailto:(^^) [03/05/28 13:24]
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

68 名前:デフォルトの名無しさん mailto:age [03/07/05 13:30]
>>64
それがなにか?

69 名前:山崎 渉 mailto:(^^) [03/07/15 10:11]

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

70 名前:デフォルトの名無しさん mailto:age [03/07/27 21:50]
>>64
はぅ



71 名前:山崎 渉 mailto:(^^)sage [03/08/02 02:16]
(^^)

72 名前:山崎 渉 mailto:(^^) [03/08/15 16:22]
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

73 名前:デフォルトの名無しさん [03/08/17 01:18]
Visual Studio.NETでコンパイル成功した人いる?

74 名前:デフォルトの名無しさん [03/08/17 01:24]
www.rantyan.net/akira/linkvp.html
◎満足しました!!(^0^)最高です!!◎

75 名前:あぼーん mailto:あぼーん [あぼーん]
あぼーん

76 名前:デフォルトの名無しさん [03/09/03 17:43]
>73
cppunit-x は普通に使えてる > .NET 2003

激しくどうでも良いことだと思うが
ある名前空間にあるクラスのテストクラスって
あるクラスと同じ名前空間に入れる?
それとも別空間でusingするなりなんなりする?

もったいないので保守age(=゚ω゚)ノ

77 名前:デフォルトの名無しさん mailto:sage [03/09/13 07:22]
CPPUnitは種類が大杉てどれを使っていいかわからん。

78 名前:デフォルトの名無しさん [03/10/04 00:35]
保守age
すごい寂れっぷりだ・・・
やっぱCPPUnitは無理なのか?
河童がもう少しがんばってくれないかな・・・

79 名前:デフォルトの名無しさん mailto:sage [03/10/04 02:06]
cppunitをLinuxで使うとSIGSEGVでお亡くなりになってしまう。

80 名前:デフォルトの名無しさん mailto:sage [03/10/04 04:15]
やり方がマズイだけだと思われ。
俺はRedHatでちゃんと動いてるし。



81 名前:デフォルトの名無しさん mailto:sage [03/10/04 04:42]
>>84
char* p = 0;
*p = 10;
とかやってみそ。落ちるから。

82 名前:デフォルトの名無しさん [03/10/04 15:57]
さらに保守age
CPPUnitに対する疑問点。
1.そもそも楽するためにあるのになんでCUIなんだろ?
  (CUIは前時代的。他人を説得するのに説得力激減。)
2.テストしたいクラスから自動的にテストクラス作るくらいやってくれたらいいのに。
  (スクリプト書けばいいとか言うのは問題外。面倒。)

ついでに河童について
3.GUIやるのになんでFOX?
  (外観に違和感ありすぎ。
  マルチプラットフォームの時点で使用者のことはかんがえてないと思う。)
4.部品が多すぎてどうすればいいのかよくわからない。
  (小河童やら子馬やら、内輪で使う分にはいいんだろうけど・・・なんかキモイ)

83 名前:デフォルトの名無しさん mailto:sage [03/10/04 16:02]
1.
CUIの方が自動化しやすく人為的ミスが起きにくい

2.
なにをテストしたいのかどうやって決めるの?

3.
シングルプラットフォームの方が使用者の事を考えてないと思うが

4.
そんくらい自分で調べろ
(2行目は激しく同意)

84 名前:デフォルトの名無しさん mailto:sage [03/10/04 16:42]
おお、もう反応が。
>>83
1.予想通りの反応だ。自動化については同意。
  ただ、JUnitと比べてどうよ?CUI「も」用意すべきだったと思う。
2.ごめん、言葉が足りなかった。欲しいのはテストクラスのテンプレ作成だね。
3.みてくれなんてどうでもいいならそうだね。
  ただWindowsアプリの中であれはどうだろう?
  使いやすい、にくいじゃなくて単純に気分の問題かな?
  マルチプラットフォームの敗因は見てくれの違和感じゃないかなと思うわけよ。
  Swingとか遅いわ、キモイわ、そらクライアントつかわねーよって感じだし。
4.漏れは調べたよ。ただ、万人がそうするかっていうと・・・
  部品がばらばらってある時点でやる気をなくす香具師も多いだろう。
  それとも分かるやつだけ使えってスタンスかな?

85 名前:デフォルトの名無しさん mailto:sage [03/10/04 17:00]
>欲しいのはテストクラスのテンプレ作成だね。
つーかあんた全然自分で調べてないじゃん。

86 名前:Error401 mailto:sage [03/10/04 19:33]
1. JUnitだってGUI使ってる奴なんてごく少数だと思う。大多数はテスト実行も自動化してるはず。

2. そもそもxUnitはテストファースト(最近はTDDっていうのかな)で使うものだからその使い方は間違い。
仮に後付けのテストを書こうするなら、簡単なスクリプトでも書けばいいじゃん。

河童は使ってないのでパス。

87 名前:82 mailto:sage [03/10/05 13:34]
>>85
何が?
もしCPPUnitにテンプレ作成機能がついてるなら漏れの調査不足、すんまそん。
子河童とかのことを言ってるなら、後付ツールじゃなくてCPPUnitになんで付いてないのかってこと。
こういうのがあるってことは欲しい人も多いはず。なんでないかなあと疑問に思うわけよ。

>>86
1.自動化するからGUIいらないのは理解できる。
  ただ雑誌とかで紹介されたときにインパクトが減らないかい?

2.あれ?漏れの勘違いか?こういう流れだと思ってたんだが。
  クラス定義作成→テストクラス定義作成→テストメソッド実装→クラス実装
                 ↑            ↑
                 ↑           この時点でテスト開始可能
               欲しいのはこの機能


88 名前:Error401 mailto:sage [03/10/05 14:11]
>>87
> ただ雑誌とかで紹介されたときにインパクトが減らないかい?

cppunitの利用者にとっては関係の無い話なのでパス。

> 2.あれ?漏れの勘違いか?こういう流れだと思ってたんだが。
>  クラス定義作成→テストクラス定義作成→テストメソッド実装→クラス実装

原理主義的に言えば、存在しないクラスに対するテストコードを書いて、
コンパイルが失敗するところからテストが始まります。

とはいえ、最小限のクラス定義をしてから、テストコードを書くという手順に
してもいいと思うんですが、その場合のテストクラス定義はそれこそ
簡単なスクリプトを書けばよいと思うんですが。あるいは、最低限の
テンプレートファイルを作っておくとか。

89 名前:82 mailto:sage [03/10/05 14:46]
>88
> cppunitの利用者にとっては関係の無い話なのでパス。
> 簡単なスクリプトを書けばよいと思うんですが。
やっぱり行き着くところはそこですか・・・
eclipse + JUnit をみてるとねえ・・・
こういうのが提供されないってことはC++の時代は終わりなのかな・・・



90 名前:デフォルトの名無しさん mailto:sage [03/10/05 14:49]
そんなに欲しいなら自作してsourceforgeあたりで公開すれ。C++使いだろ?



91 名前:Error401 mailto:sage [03/10/05 16:16]
>>89
参考までに、そのeclipse+JUnitでどういうことができているのか、簡単に
教えていただけませんか?

92 名前:82 mailto:sage [03/10/05 23:53]
>>90
いや違うって。「欲しい」=「作ろう、作って」じゃないって。
ただ単に漏れはスレタイ通りに語ってるだけ。
CPPUnitをどうこうしようって気はさらさらないYO!

>>91
こことかを参考にどうぞ。
www.atmarkit.co.jp/fjava/devs/xpd05/xpd05.html


93 名前:Error401 mailto:sage [03/10/06 01:35]
>>92
なるほど。情報サンクス。
こういうのが欲しければ、VCのプラグインを書く必要があるのかな?

私の場合は必要なものはすべてrubyで書いているので、あまり
欲しいとは思いませんでした :-P

94 名前:デフォルトの名無しさん mailto:sage [03/10/06 22:37]
> 82
> 2.テストしたいクラスから自動的にテストクラス作るくらいやってくれたらいいのに。
>   (スクリプト書けばいいとか言うのは問題外。面倒。)

Visual Studioでよければ、TestClass作成マクロが同封されているわけだが。
もっとも、「テストしたいクラスから自動的」ではないけどな。

そのへんはコピペしる。

95 名前:デフォルトの名無しさん mailto:sage [03/10/07 21:38]
リファクタリング機能が言語側にないC++では、(TestCaseを作るのは)難しい。

96 名前:デフォルトの名無しさん mailto:sage [03/10/07 21:59]
リファクタリング機能が言語にあるって何?

97 名前:デフォルトの名無しさん mailto:sage [03/10/08 01:01]
>>95
リフレクションの間違えでは?

98 名前:デフォルトの名無しさん mailto:sage [03/10/08 02:24]
実行時に動的に情報を取得するわけではないから、リフレクションの有無は関係ないよ。

99 名前:デフォルトの名無しさん [03/10/15 17:48]
cppunitの質問なんですけど、
標準出力とかの、外部に対して作用する処理のテストはできないですか?
書き出したファイルの書式が合ってるかどうかとか。

100 名前:デフォルトの名無しさん mailto:sage [03/10/15 21:45]
>>99
diffをして結果を返すツールでも作って渡せばいいんとちゃう?








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<52KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef