トップページ⇒tech
282コメント73KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
テスト自動化全盛のこのご時世皆様いかがお過ごしでしょうか。
より賢い利用法を考えていきませんか。
0002デフォルトの名無しさんNGNG
より賢い利用法を教えてください。

なら初心者のポケミスとして酌量の余地もあったが・・・。
0003デフォルトの名無しさんNGNG
>>1
リンクぐらい張れよ。あと折角だから JUnit とか、C++ 以外のユニット
テストフレームワークも含めん?

CppUnit
http://cppunit.sourceforge.net/

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

xUnit リンク集
http://www.xprogramming.com/software.htm
0004デフォルトの名無しさんNGNG
CPUUnitがどうかしたのか?
0005デフォルトの名無しさんNGNG
C++はリフレクションが無いからクソ。
0006デフォルトの名無しさんNGNG
XPなんか必要ない
0007デフォルトの名無しさんNGNG
>>5
リフレクションってなに?
0008デフォルトの名無しさんNGNG
>>6
ユニットテストとリファクタリングは XP 以外にも有用なアクティビティだよ。
0009デフォルトの名無しさんNGNG
Junitを使いたいんだけど、
解説してる本とかWEBサイトとかが
ないから使えないんだよね。

SEな人たちは、そこの研修で教えてもらってるから
いいよね。
0010デフォルトの名無しさんNGNG
>>9
いくらでもあると思うが。
http://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
0011デフォルトの名無しさんNGNG
CppUnitの日本語解説サイトってないですか?
XPテスト技法とかみてもちょっとしか載ってないし、英語サイトは難しいしで。
0012デフォルトの名無しさんNGNG
>>11
ぐぐってみた?
0013デフォルトの名無しさんNGNG
>>12
ぐぐったけど、ちょっとしかでなかった。
そこもさわりぐらいしか書いてないし。
0014デフォルトの名無しさんNGNG
800⊂(゚∀゚ )  
0015デフォルトの名無しさんNGNG
>616
それが争点になればねぇ・・
ドキュソを証明するのは簡単なんだけど、それを判断する香具師がオールドタイプだから・・
0016デフォルトの名無しさんNGNG
あはっ

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

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

さてさて どれくらいかかるのやら。。。
0017デフォルトの名無しさんNGNG
>>5
べつにリフレクションとかなくたって、テストメソッドを集めて
addTest するようなコードをはきだすスクリプトを書けばよいだけの話。

それより、子河童ってなによ?誰か説明きぼん。
0018ななしNGNG
削除以来だしとけ。
0019デフォルトの名無しさんNGNG
えぴすてーめー氏は 2ch 見てないのかな。

>>17
http://sourceforge.jp/projects/cuppa/
CppUnit 用のコードの雛型を生成してくれる。
0020デフォルトの名無しさんNGNG
CPPUnitのテストって結局ある変数がある値になっているかどうかしか判定できないの?
入力データで処理がいくつかに分かれる場合はテストも複雑になって正確なテストができるとは思えんのだが。
0021デフォルトの名無しさんNGNG
>>20
基本は、C++処理系が用意している assert よりもエレガントな処理を
してくれる assert を提供してくれるってことだよね。
assert の中は何を書いてもよいわけで、別に変数の値チェックに限られる
わけではない。
たとえば、処理の途中経過をテキストダンプして、あらかじめ作成しておいた
正しいダンプ結果との差分をチェックしてもよい。
assert( system( "diff …" ) == 0 ) ってな感じで。
0022デフォルトの名無しさんNGNG
みなさんはGUI経由の入力値をチェックするにはどうしてますか?
002320NGNG
>>21
なるほど。
でもデータによって無限にパターンがある場合ってどうしてますか?
DBからデータを取ってきてそれによって処理が代わったりする場合とか。
0024デフォルトの名無しさんNGNG
つかえねー
0025デフォルトの名無しさんNGNG
>>5
typeid演算子とかtype_infoクラスでは役不足?
0026デフォルトの名無しさんNGNG
はっきりいって力不足です。
最低限クラス内のtestXXX()メソッド列挙する機能が必要。
0027デフォルトの名無しさんNGNG
>>26
それって適当なスクリプト書いてそういうファイルを自動生成するようにすれば
いいだけじゃないの?
0028デフォルトの名無しさんNGNG
>>27
ついでに、プログラムの方も「入力を拾ってくる」ところと「入力を
処理する」ところを分離しておくのが吉だよな。

逆に言うと、そういう粒度の細かい設計にしてないと、単体テストは
有効に使えない。
0029デフォルトの名無しさんNGNG
>>28
MVCのVとC?
0030デフォルトの名無しさんNGNG
>>27
いちいちフィルタかますの遅いし面倒だしテンポ悪いし。
それにクラス参照ないのも×
0031デフォルトの名無しさんNGNG
>>30
遅いならCで書きゃ問題ないだろ。普通のコンパイル時間に比べれば微々たるもんだ。
っていっても別に使いたくない人に無理やり使わす気はないけど。
ただ単体テストで他に良い方法がないのが事実だから。
0032デフォルトの名無しさんNGNG
>>31
別に使い物にならないとはいってないよ。
ただ言語仕様が腐ってるからフレームワークが
不便かつ不自然に歪んでるというだけで。
0033デフォルトの名無しさんNGNG
>>23
自動的に完全な同値分割やC1カバレージのテスト生成しても、
テストの数が多すぎて見たくもなくなる。

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

ユニットテストが不必要に複雑になるときにはメソッドを分割するなど設計を変更すべき。
0034デフォルトの名無しさんNGNG
>> 32
> 不便かつ不自然に歪んでるというだけで。
リフレクションといっても、UnitTest で使ってるのはせいぜいテスト用
メソッドの一覧作成ぐらいだろ? (CppUnit-x だと suite() メソッド
を手で書くか、自動生成するかの違い)

その程度、Perl あたりでスクリプト書けばすぐに解決だと思うが。っつ
か、俺は Perl + Makefile でよろしくやってます。
0035山崎渉NGNG
(^^)
0036デフォルトの名無しさんNGNG
人を人と思わないコイツらの死に様は悲惨だろうな
0037デフォルトの名無しさんNGNG
言語別にスレ立てるなよ。>1
0038山崎渉NGNG
(^^)
0039デフォルトの名無しさんNGNG
>>37
別にいーじゃん。一番需要が多い言語だし。
0040デフォルトの名無しさんNGNG
>>39
需要が多いってどういう意味だい?
C++ で仕事してる人間は(VBやCOBOLやJavaに比べれば)すごく少ないはずだが?
0041デフォルトの名無しさんNGNG
> C++ で仕事してる人間は(VBやCOBOLやJavaに比べれば)すごく少ないはずだが?
ソースぷりーず。

いや否定してるワケじゃなくて、プログラミング言語別のプログラマ人口って
どんなもんかと思ってさ。
0042デフォルトの名無しさんNGNG
>>41
使ってるかはともかく教養として知ってないと何かと大変だと思うけどね。
0043山崎渉NGNG
(^^)
0044デフォルトの名無しさんNGNG
VBやJavaの需要なんてほとんどないだろ。
VBは開発補助用のツール作り。
Javaも限りなく少ない。
0045デフォルトの名無しさんNGNG
>>44
世間知らずなCOBOLerの憂鬱。 完
004640NGNG
>>41
ゴメン、ソースどこか忘れちゃった。
なんか COBOLer + VBer で全世界のプログラマの 50% 以上だとかなんとかって
結果だったと思う。

誰か該当ソースぷりーず(--;
0047デフォルトの名無しさんNGNG
ソースはないが世界規模ではCOBOLerは多いらしい。

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

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

という認識をしている人が*日本では*大半じゃないかと。
0048デフォルトの名無しさんNGNG
>>46-47

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

ではないと思うんだがどうか。
004947NGNG
俺も

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

とは言ってないけどな。
主にその言語を仕事として使っている(or 使わねばならない)人って意味だろ?
0050デフォルトの名無しさんNGNG
サーバサイドということになると、Javaよりperlやphpの方が多かったりしてね。
0051デフォルトの名無しさんNGNG
頼むからさー
C++使ってなくて、さらにCPPUnit使う気ないヤツはスレから出てってくれよ
0052デフォルトの名無しさんNGNG
あるから何かネタ振れ
0053デフォルトの名無しさんNGNG
全くだ。
実際にCppUnit使って開発はしてるが、ここで喋るネタなんてないしな。
0054デフォルトの名無しさんNGNG
ぼーとした頭で「VB&Java」という文字列を見て、「ああ? Javaっていう
VB型の参照がどうしたんだ?」とか一瞬思ってしまったが、よく考えると
あながち間違いでもないのか?
0055デフォルトの名無しさんNGNG
未経験者を啓蒙するような内容はありませんかねぇ
0056デフォルトの名無しさんNGNG
XP周りのサイトあたってみたら。
0057デフォルトの名無しさんNGNG
どうも使うのが面倒なんだよな。
JUnitはeclipseからウィザード起動するだけでいいのに。
0058デフォルトの名無しさんNGNG
VBAUnitをだれか一緒に作りませんか?
0059デフォルトの名無しさんNGNG
>>58
http://www.rapid-programming.com/vbaunit/vbaunit.zip
0060デフォルトの名無しさんNGNG
皆、cuppaっての使ってるのかな
0061デフォルトの名無しさんNGNG
>>60
何言ってんだ、お前
0062デフォルトの名無しさんNGNG
http://www.unittest.org/
ってどうなの?
0063デフォルトの名無しさんNGNG
TestingFrameworkのクラス構成って変じゃない?
何で素直にCompositeにしないの?
0064デフォルトの名無しさんNGNG
Foo::Foo()
{
 // ものすごく、たくさんのオブジェクトを生成。インクルードしたファイルや、
// 実行時に読み込まれるファイルの内容に依存。
}
Foo::doSomething()
{
 // なにやら処理
}
↑こんなソースがあって、doSomething() メソッドを単体テストしたいんです。
# Foo クラス自体を書き直すのがベストなんですけどね。
単純なコンストラクタを持つ Foo のサブクラス FooSub を作り、
ダミーのオブジェクトを持たせておいて、
FooSub.doSomething() をテストするっていうのは、いけないことですか?
0065山崎渉NGNG
(^^)
0066山崎渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0067山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0068デフォルトの名無しさんNGNG
>>64
それがなにか?
0069山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0070デフォルトの名無しさんNGNG
>>64
はぅ
0071山崎 渉NGNG
(^^)
0072山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0073デフォルトの名無しさんNGNG
Visual Studio.NETでコンパイル成功した人いる?
0074デフォルトの名無しさんNGNG
http://www.rantyan.net/akira/linkvp.html
◎満足しました!!(^0^)最高です!!◎
0075あぼーんNGNG
あぼーん
0076デフォルトの名無しさんNGNG
>73
cppunit-x は普通に使えてる > .NET 2003

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

もったいないので保守age(=゚ω゚)ノ
0077デフォルトの名無しさんNGNG
CPPUnitは種類が大杉てどれを使っていいかわからん。
0078デフォルトの名無しさんNGNG
保守age
すごい寂れっぷりだ・・・
やっぱCPPUnitは無理なのか?
河童がもう少しがんばってくれないかな・・・
0079デフォルトの名無しさんNGNG
cppunitをLinuxで使うとSIGSEGVでお亡くなりになってしまう。
0080デフォルトの名無しさんNGNG
やり方がマズイだけだと思われ。
俺はRedHatでちゃんと動いてるし。
0081デフォルトの名無しさんNGNG
>>84
char* p = 0;
*p = 10;
とかやってみそ。落ちるから。
0082デフォルトの名無しさんNGNG
さらに保守age
CPPUnitに対する疑問点。
1.そもそも楽するためにあるのになんでCUIなんだろ?
  (CUIは前時代的。他人を説得するのに説得力激減。)
2.テストしたいクラスから自動的にテストクラス作るくらいやってくれたらいいのに。
  (スクリプト書けばいいとか言うのは問題外。面倒。)

ついでに河童について
3.GUIやるのになんでFOX?
  (外観に違和感ありすぎ。
  マルチプラットフォームの時点で使用者のことはかんがえてないと思う。)
4.部品が多すぎてどうすればいいのかよくわからない。
  (小河童やら子馬やら、内輪で使う分にはいいんだろうけど・・・なんかキモイ)
0083デフォルトの名無しさんNGNG
1.
CUIの方が自動化しやすく人為的ミスが起きにくい

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

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

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

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

河童は使ってないのでパス。
008782NGNG
>>85
何が?
もしCPPUnitにテンプレ作成機能がついてるなら漏れの調査不足、すんまそん。
子河童とかのことを言ってるなら、後付ツールじゃなくてCPPUnitになんで付いてないのかってこと。
こういうのがあるってことは欲しい人も多いはず。なんでないかなあと疑問に思うわけよ。

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

2.あれ?漏れの勘違いか?こういう流れだと思ってたんだが。
  クラス定義作成→テストクラス定義作成→テストメソッド実装→クラス実装
                 ↑            ↑
                 ↑           この時点でテスト開始可能
               欲しいのはこの機能
0088Error401NGNG
>>87
> ただ雑誌とかで紹介されたときにインパクトが減らないかい?

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

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

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

とはいえ、最小限のクラス定義をしてから、テストコードを書くという手順に
してもいいと思うんですが、その場合のテストクラス定義はそれこそ
簡単なスクリプトを書けばよいと思うんですが。あるいは、最低限の
テンプレートファイルを作っておくとか。
008982NGNG
>88
> cppunitの利用者にとっては関係の無い話なのでパス。
> 簡単なスクリプトを書けばよいと思うんですが。
やっぱり行き着くところはそこですか・・・
eclipse + JUnit をみてるとねえ・・・
こういうのが提供されないってことはC++の時代は終わりなのかな・・・

0090デフォルトの名無しさんNGNG
そんなに欲しいなら自作してsourceforgeあたりで公開すれ。C++使いだろ?
0091Error401NGNG
>>89
参考までに、そのeclipse+JUnitでどういうことができているのか、簡単に
教えていただけませんか?
009282NGNG
>>90
いや違うって。「欲しい」=「作ろう、作って」じゃないって。
ただ単に漏れはスレタイ通りに語ってるだけ。
CPPUnitをどうこうしようって気はさらさらないYO!

>>91
こことかを参考にどうぞ。
http://www.atmarkit.co.jp/fjava/devs/xpd05/xpd05.html
0093Error401NGNG
>>92
なるほど。情報サンクス。
こういうのが欲しければ、VCのプラグインを書く必要があるのかな?

私の場合は必要なものはすべてrubyで書いているので、あまり
欲しいとは思いませんでした :-P
0094デフォルトの名無しさんNGNG
> 82
> 2.テストしたいクラスから自動的にテストクラス作るくらいやってくれたらいいのに。
>   (スクリプト書けばいいとか言うのは問題外。面倒。)

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

そのへんはコピペしる。
0095デフォルトの名無しさんNGNG
リファクタリング機能が言語側にないC++では、(TestCaseを作るのは)難しい。
0096デフォルトの名無しさんNGNG
リファクタリング機能が言語にあるって何?
0097デフォルトの名無しさんNGNG
>>95
リフレクションの間違えでは?
0098デフォルトの名無しさんNGNG
実行時に動的に情報を取得するわけではないから、リフレクションの有無は関係ないよ。
0099デフォルトの名無しさんNGNG
cppunitの質問なんですけど、
標準出力とかの、外部に対して作用する処理のテストはできないですか?
書き出したファイルの書式が合ってるかどうかとか。
0100デフォルトの名無しさんNGNG
>>99
diffをして結果を返すツールでも作って渡せばいいんとちゃう?
0101デフォルトの名無しさんNGNG
UnitTestって例の河童とか子馬の人たちが
主導者になっているのでしょうか?

活動自体はすごいなと感心するのですが、ネーミングから
禿しくただようヲタ臭さ(?)に、どうしても馴染めません。

一般人を排除してヲタ帝国を築くために、わざとあのような
ネーミングをしているのかと邪推したくなります。

Testとかその周辺の活動って、もっと開かれた環境だと
おもってたけど…こういっちゃなんだが、一部のヲタの
いいおもちゃにされてしまっているように感じる…残念

そんなことはなく、実際には大勢のひとたちから
支持・歓迎されているのかな

いまごろTestに関心を持った者のヒガミになってしまった
0102デフォルトの名無しさんNGNG
単体でCppUnit使ったら?
0103デフォルトの名無しさんNGNG
>>101
それは、
・日本の
・cppunitを使っている人で
・ベータバージョンユーザの
・さらに一部
にしかすぎないでしょ。
C++ユーザ以外は「あのロシア語の名前の人」くらいの認識じゃないの?(w
0104デフォルトの名無しさんNGNG
あのロシア語の名前の人は本書くと大したこと無いのはなんで?
0105デフォルトの名無しさんNGNG
>>101
CppUnitをWebで大々的に扱ってるのが
そのグループなだけであって
普通に地味に使ってる人の方が多いと思うが

俺は普通にCppUnit-x使ってるけど
CUIで十分やし
0106デフォルトの名無しさんNGNG
>>105
大々的って…
アレを日常的に使ってるユーザは100人もいないと思うが。
0107デフォルトの名無しさんNGNG
一度試した限りだと、河童とか子馬とかしっくり来なかった。
通常はcppunit-xだけ使ってる。
0108デフォルトの名無しさんNGNG
CppUnitCB最強。
多分誰も使ってないけど。
0109デフォルトの名無しさんNGNG
>>108
CppUnitCB, 他のユニットテストフレームワークと比較して、どこが「最強」なのか
興味あるなぁ。レポートよろしく。
0110デフォルトの名無しさんNGNG
>>109
他CppUnitと違ってわざわざメソッドを一つ一つ登録したりする必要がない。
RTTIで勝手に実行時にテストメソッドを全部認識して実行してくれる。
というか、JUnitとかの他言語のテストフレームワークと比べると、テストメソッドをわざわざ一つ一つ登録したり、
それだけのために外部ツールを使ったり、スクリプトを使ったりしなければならない方が異常だと思うけど。
0111デフォルトの名無しさんNGNG
>>108
builder専用かよ
0112デフォルトの名無しさんNGNG
>>110
C++という言語そのものに、RTTIに類する機能が入ってないんだから、他のxUnitと違っていてあたりまえだろ。
0113デフォルトの名無しさんNGNG
>>112
C++にRTTI入ってないんですか?
ISO/IEC 14882:1998の18.5に書かれている物は一体なんなんでしょうかね?
0114 NGNG
>>112-113
コンパイルオプションで削除できるんだろ。
0115デフォルトの名無しさんNGNG
つーか、C++のRTTIに
>メソッドを全部認識
こんな機能あったの?
0116デフォルトの名無しさんNGNG
>>110
>異常だと思うけど。
禿げしく同意!
C++は異常!
0117 NGNG
>>115
それC++ Builderだからだろ。
Delphi系の互換を逆手に取ってる。
0118デフォルトの名無しさんNGNG
つまり、
Delphi>>>>>>>>>>>>>>C++
0119115NGNG
>>117
なるほど、C++のRTTIではないのですね。サンクス
0120デフォルトの名無しさんNGNG
BCB>>>>>>>>>>Delphi>>>>C++
0121デフォルトの名無しさんNGNG
CppUnit 1.9.11のTestCaseDecoratorってどうやって使うんでしょう?
0122デフォルトの名無しさんNGNG
C用のってどれがいいの?
0123デフォルトの名無しさんNGNG
どれがって?
これ以外にあるの?
http://cunit.sourceforge.net/
0124Error401NGNG
>>122,123
C用のものもいくつかあるよ。
http://www.xprogramming.com/software.htm
一年ほど前に評価したときは、Checkが一番よさげだった。
0125Error401NGNG
いまsourceforgeがメンテナンス中で確認できないけど、
http://check.sourceforge.net/
にあるのがCheck。
0126デフォルトの名無しさんNGNG
なんかcygwinに入ったな。
0127デフォルトの名無しさんNGNG
CPPUnitって単体テスト専用なの?
CPPUnitで結合したらなんかまずい事ある?
もしくは結合テスト用のフリーのツールって無いの?(C++で)
0128デフォルトの名無しさんNGNG
PerlやPHPのxUnitの定番ってなんでつか?
PHPはそのものズバリPHPUnitってのがあったけど
Perlはいっぱいあってわからんぽ

・・・スレ違いだけどな(´・ω・`)
0129デフォルトの名無しさんNGNG
>>120
CheckってWindowsでも使えますか?
どうやってコンパイルすればいいか分かりません。
0130デフォルトの名無しさんNGNG
「こんな風に書くとコンパイルエラーになる」っていうテストは、
やろうと思えばできたりしますか?
0131デフォルトの名無しさんNGNG
>>130
コンパイラのテストじゃないならできません。
0132デフォルトの名無しさんNGNG
結局スクリプトで書いた方が制限少ないし早いな。
CppUnitは回りくどい。
0133デフォルトの名無しさんNGNG
開発言語と同じ言語でテスト書くのが、いいんじゃなかったの?
0134デフォルトの名無しさんNGNG
河童とか貧弱すぎて使い物にならない
0135デフォルトの名無しさんNGNG
使わなきゃイイじゃん
0136デフォルトの名無しさんNGNG
>>134
だから河童をCppUnitとセットで語るなよ
一部の人が作った補助ツールなんやから
0137デフォルトの名無しさんNGNG
VC6でCppUnitを使い安くするカスタムAppWizardを作ってみました。
魔河童と組み合わせるとGUIだけでCppUnitが使えます。

メモリリークが発生する不具合が残っていますが、試しにリリースしてみます。
CppUnit 1.9.xに対応しています。

CppUnit TestRunner AppWizard 1.00
ファイル名:TestAppWiz100.zip
http://pub.idisk-just.com/fview/DF6GfyicJseYqiJTvkRlscdKPV6QAPskLLpJBv_lxc9Owgbf18SwFkcXzNbkUy9L
0138デフォルトの名無しさんNGNG
こんなくだらないもの作るくらいなら、cppunitそのものを拡張してくれよ。
0139デフォルトの名無しさんNGNG
無駄に分家されるのも嫌だな。
0140デフォルトの名無しさんNGNG
boost::testとcppunitの関係押せー手
0141デフォルトの名無しさんNGNG
NUnitの話をここでしても良い?
0142デフォルトの名無しさんNGNG
>>141
駄目です。
0143デフォルトの名無しさんNGNG
0144デフォルトの名無しさんNGNG
ウェブのサンプル等では、よくテスト後の値のassertEqualsなんかでテストを行っていますが、
ある条件ならメソッドを実行して、条件を満たさなければ実行しない、みたいな
条件分岐テストはどうやって行えばいいのでしょう?
0145デフォルトの名無しさんNGNG
cygwin package age
0146デフォルトの名無しさんNGNG
皆に訊きたいんだが。
DirectXやOpenGLでUIやカメラモーションなんかのunittestってどうやって記述してるの?
あとI/Oポートの先につながっている測定器とかとのやりとりとかするクラスとか

物理的な対象物上でしか観測できない事象とかはどうやってUnitTestに取り込んでるの?
0147デフォルトの名無しさんNGNG
>144

if ( ある条件 )
 ある条件用のアサート


素直にやればよろしい。
でもできれば条件ごとに別のテストケース作るのがお勧め。


>146
リファクタリング本あたりに、
物理装置の挙動を真似るダミークラスを作るパターンが紹介されてたよ。
0148デフォルトの名無しさんNGNG
>>146
> DirectXやOpenGLでUIやカメラモーションなんかのunittestってどうやって記述してるの?
MVC っぽいクラス構成にしてれば、C の部分だけ差し替えてテストできる。
0149デフォルトの名無しさんNGNG
差し替えてテストってのがちょっと胡散臭いな。
0150デフォルトの名無しさんNGNG
>>148
I/Oデバイス操作ライブラリ等に正しく値が設定されてるとか(getterは無かったりする)そういうセットアップ情報が正しい事等のテストはどうするの?
FakeIO classとかでも良いかもしれないけど、外環境の振る舞いが持ち込まれてしまう状態とかだとテスト自体ができなかったりするものとかは無視するの?
テストユニットクラスが増えるのは良いけど、テストの為のFakeの為のテストの為のみたいにどんどんクラスが増えてしまって頭抱えてます。
0151デフォルトの名無しさんNGNG
CppUnit と boost::test は同じ目的のフレームワークだと思うのですが、
機能はまるっきり被ってるんでしょうか?
片方にはあって、片方にないみたいな比較情報が欲しいです。

と質問しようとして、その前にとGoogleに聞いてみたところ、
ttp://lists.boost.org/MailArchives/boost-users/msg04216.php
というスレッドを発見しましたのでここにメモっておきますね。
0152デフォルトの名無しさんNGNG
>>150
> FakeIO classとかでも良いかもしれないけど、外環境の振る舞いが持ち込まれてしまう状態とかだとテスト自体ができなかったりするものとかは無視するの?
程度問題だが、完全なテストってのは無理。それこそ

double sqrt(double)

だって、完全なテストを行おうと思ったら double 全部の値に対して
テストする必要があるわけだが、そんなんやらんでしょ。

> テストユニットクラスが増えるのは良いけど、テストの為のFakeの為のテストの為のみたいにどんどんクラスが増えてしまって頭抱えてます。
もう少し具体的に書いてくれれば、何かアドバイスできるかも。
0153デフォルトの名無しさんNGNG
どだいバグがないことを完全に証明するのは無理ってことでしょうね。
ぶっちゃけ悪魔の証明。
0154デフォルトの名無しさんNGNG
std::basic_stringは?
0155144NGNG
>>147
なんでもかんでも本物のソース対しては変更を加えずに
テストできる方法がある、と思っていたのですがそうでは無い、ということですね。

サンプルなんかを見てると、テスト対象のソースに手を加えるのはテストケースの失敗を
修正するときだけのように見えるので…
0156デフォルトの名無しさんNGNG
>ある条件ならメソッドを実行して、条件を満たさなければ実行しない、みたいな
>条件分岐テストはどうやって行えばいいのでしょう?

条件で実行するメソッドが動いたかどうか後でわかる仕組み、ログとかフラグとか、
ほんで、テストケースは

動く条件セット
アサート(動いた?)

動かない条件セット
アサート(動かなかった?)
0157デフォルトの名無しさんNGNG
C++でTDDをやる場合、実装のコードはヘッダファイルに書くものなんでしょうか。
それとも、やはり修正時には.hと.cppを双方いちいち書き換えていく必要があるのでしょうか。

JUnit(+eclipse)使ったことがあると、CppUnitは手間がかかりすぎるような気がして、結構萎えますね…
0158デフォルトの名無しさんNGNG
CppUnitが手間がかかるのではなく、C++自体が手間がかかる。
0159デフォルトの名無しさんNGNG
C++でTDDはやめといたほうが良い、ということ?
0160デフォルトの名無しさんNGNG
TDDってなんですか?
0161デフォルトの名無しさんNGNG
テストドリヴンデヴェロップメント
0162デフォルトの名無しさんNGNG
CxxTest って使ったことある人いる?
http://cxxtest.sourceforge.net/

Perl で書かれた前処理プログラムを使うことで、TestSuite の生成を自動化
しているから、こんな感じでテストが書ける。

# cat MyTetSuite.h
// MyTestSuite.h
#include <cxxtest/TestSuite.h>

class MyTestSuite : public CxxTest::TestSuite
{
public:
void testAddition( void )
{
TS_ASSERT( 1 + 1 > 1 );
TS_ASSERT_EQUALS( 1 + 1, 2 );
}
};
# cxxtestgen.pl --error-printer -o runner.cpp MyTestSuite.h
# g++ -o runner runner.cpp
# ./runner
Running 1 test.OK!

CppUnit+河童に近いアプローチなんだけど、なんとなくこっちの方が使い勝手
いいかも。GUITestRunnerのセンスも素晴らしい。

0163デフォルトの名無しさんNGNG

        ぬるぽ!
0164デフォルトの名無しさんNGNG
void check(bool);
#define ASSERT(x)
だけあれば十分な気がするんだけど...
framework使う利点ってどんな事?
0165デフォルトの名無しさんNGNG
エラー起きても止めなくて別のテストできる
0166デフォルトの名無しさんNGNG
>>164
1. テスト間の結合度を相対的に低くできる。
2. 記法がある程度統一できるので、可読性の向上が期待できる

一方で、フレームワークが使えない環境ではテストできないというものではな
いと思う。あくまでフレームワークは費用対効果を改善するためのもの。
0167デフォルトの名無しさんNGNG
visualstudio.netでcppunitがコンパイル不能ですよ
0168デフォルトの名無しさんNGNG
cppunitはウンコ。
JUnitを見習え
0169167NGNG
なんか成功しました。
C++は言語仕様的に不利だから統合開発環境の側でサポートしてもらわんとやってられんね。
とりあえず、eclipseに期待。
0170デフォルトの名無しさんNGNG
boost::testの今後に期待
0171デフォルトの名無しさんNGNG
コンパイラエラーになることを保証する機能ってある?
0172デフォルトの名無しさんNGNG
>>171
#error

あるいは BOOST_ASSERT()
0173デフォルトの名無しさんNGNG
>>172 そうじゃないよ。
0174デフォルトの名無しさんNGNG
fail
0175デフォルトの名無しさんNGNG
>>162
CxxTestいいね。
0176デフォルトの名無しさんNGNG
>>162
Win32Guiだとなぜかウィンドウが一瞬で消える('A`)
でも便利だな。使わせてもらおう。
0177176NGNG
> Win32Guiだとなぜかウィンドウが一瞬で消える('A`)
自己解決。テストを実行するときに-keepオプション。
0178176NGNG
VS.netでcxxunitを使う方法。テストプロジェクト作成→プロパティのビルドイベント-ビルド前のイベントに
perl -w d:\home\lib\cxxtest\cxxtestgen.pl --error-printer -o runner.cpp --gui=Win32Gui *.hpp
って具合にコマンド記述(ほんとはバッチファイルにすべき)
デバッグ-コマンド引数に-keepを追加。

これは便利。河童とかもうどうでもいいですよ!
0179デフォルトの名無しさんNGNG
今日、初めてCppUnitを試してみたのですが
privateなメソッド・メンバをテストするにはどうしたら良いですか?
getメソッドもfriendも書きたくないのですが…。
0180デフォルトの名無しさんNGNG
>>179
CppUnit はよく知らないけど、
テストコードのコンパイル時に #define private public とかしちゃう方法を思いついた。
あまり良くないとは思うけど、実害は無かったりするのかな?
0181デフォルトの名無しさんNGNG
>180
コンパイル出来無かったヨ
0182デフォルトの名無しさんNGNG
>>181
#define private public でコンパイルできなくなることがあるのか。
どんなケースか思いつかないから、よかったらエラーメッセージ教えてくれない?
該当部分のソースも見せてもらえると嬉しいな。
0183179NGNG
>>180
おぉ。なんと大胆な…。
やってみたけど、publicメソッドが無いと言われて、リンクが通りません。
テスト対象クラスに#define public privateしないとだめですね…。(それならリンクが通る)
あまりテスト対象クラスには、手を入れたくないなぁ。
代案はありませんか?
0184179NGNG
>>183
×public private
○private public
0185181NGNG
>182
通った通った。

#define private public
#include <boost/test/unit_test.hpp>

としたのがマズかったみたい。

#include <boost/test/unit_test.hpp>
#define private public

としたらOKだったヨ
0186181NGNG
……と思ったけど、やっぱダメだった。

main.obj : error LNK2001: 外部シンボル ""public: static class std::list<(以下略)" は未解決です。
(VC7.1)

てしかられた
0187デフォルトの名無しさんNGNG
>>186
エラーメッセージ略すなよ。
解決を助けてもらうつもりが無いならいいけど。
0188デフォルトの名無しさんNGNG
ネットワーク関連の開発してるんだけど、
相手から送られてくる不正なデータとかを正しくハンドリングできるか、ってのは
どうやって実装するべき?
今はとりあえずテストケース内でスレッドを別に作ってループバックで接続したり、
テストをクライアントとサーバで別に書いて、同時に実行、とかしてんだけど、
ネットワークのI/Oの動作を真似るオブジェクトに差し替え、とかのほうがいいのかな?
0189デフォルトの名無しさんNGNG
CPPUNITのテスト結果をいわゆる「テスト結果報告書」として出力するいい方法ない?
0190デフォルトの名無しさんNGNG
>188
つ[モック・オブジェクトパターン]
0191デフォルトの名無しさん2005/05/12(木) 10:06:50
あげ
eclipseのcppunit pluginを使っている人いる?
0192デフォルトの名無しさん2005/05/12(木) 19:23:45
>>189
resultや出力部分に細工して、結果を評価したり出力フォーマットを切り替えたり。
0193デフォルトの名無しさん2005/05/16(月) 02:18:48
今月一杯製造、来月から単体試験という工程のCの作業しています。
単体試験はCUnitを使うという方針らしいのですが、static関数の試験や、
試験する関数内で呼び出した関数のリターンによる分岐の確認方法がわかりません。
呼び出す関数が別ソースならスタブにもできるのですが、同一ソースの関数だとソース
に手を入れない解決方法が思いつきません。
上からは簡単なサンプルだけ提示されていて、各自ネットなどで調べるように
とのことなのですが検索してもわからないのでどうかご教授お願いします。
0194デフォルトの名無しさん2005/05/21(土) 01:36:37
>static関数の試験
しない(static関数の呼び元を試験する) or グローバル化

>試験する関数内で呼び出した関数のリターンによる分岐の確認
似非呼び出し関数を試験ソース側に作りそれを呼ぶ
本物は呼び出さない
0195デフォルトの名無しさん2005/05/21(土) 01:37:49
っつーか作り方間違ってる希ガス
試験しながら作れや
01961932005/05/21(土) 18:55:11
>>194-195
説明ありがとうございます。
既存のソースがあってその機能拡張なので元のスタイルに合わせると
内部関数はすべてstaticになってしまうし、同一ソース内に試験対象
の関数が呼ぶ関数があったりして試験ソースに偽の関数定義しても
リンクエラーになってしまいます。
工程も今月中は製造、来月から単体試験ときっちり分かれていて、
試験項目を作り始めるのも来月だし今月中は試験用のスタブとかを
作って確認しながら作業を進めると間に合わなくなりそうです。
とりあえずい今月はCUnitで確認しやすい関数つくりを念頭において
作業して、単体試験工程では何とかソースをifdefでごまかしてCUnit
を使おうと思います。
0197デフォルトの名無しさん2005/06/12(日) 13:09:58
まー、テストファーストを無視している時点でアレだが。

static関数のテストは、staticキーワードを#defineで無効化するか、
ソースファイル自身を別のテストコード用ソースに#includeしてしまえば出来ないことはない。
0198デフォルトの名無しさん2005/06/17(金) 03:44:42
CUnit for Mr.Ando
ttp://park.ruru.ne.jp/ando/work/CUnitForAndo/html/index_ja.html
CppUnit-xをベースにしたC言語テスティングフレームワーク。
CUnitよりもシンプルでプアな環境でも使用できる
0199デフォルトの名無しさん2005/07/21(木) 17:30:16
VC.netでテスト環境を構築しようとしているのですが、
CPPUnitの参考ページ少なすぎ。(しかも、ほとんどVC6用のみ)

みんなCPPUnit使ってないんですかね?
テスト環境を構築するまでに、1日潰れそうな気配。
0200デフォルトの名無しさん2005/07/21(木) 20:58:42
>>199
つ boost::test
0201デフォルトの名無しさん2005/07/21(木) 22:03:36
>>200
1日掛けて、なんとかテスト環境ができたので、
このまま行きます。

元々、Java+JUnit+Eclipseを使ってるので、正直不便ですね。
0202デフォルトの名無しさん2005/07/22(金) 00:34:49
VC6でのCPPUnit環境も結構面倒でつらいぞ。
0203デフォルトの名無しさん2005/07/22(金) 01:31:38
NUnit
とtestdriven.net
これ最強
0204デフォルトの名無しさん2005/07/25(月) 19:57:41
テストなんて実はみんなやってない気がしてきた。
本や雑誌のページ埋めるだけの都市伝説なんじゃねーの?
0205デフォルトの名無しさん2005/07/25(月) 23:10:38
失礼な、やっとるわ。
# まともな上司探せ!
0206デフォルトの名無しさん2005/07/26(火) 03:22:14
>>191
EclipseにCPPUnit pluginってあるんですか?
CDTのことですか?

EclipseでJUnit並みのことが出来るCPPUnit or CUnitプラグインって
なんか無いですか?
0207デフォルトの名無しさん2005/08/01(月) 21:26:14
無い
0208デフォルトの名無しさん2005/11/15(火) 19:48:03
age
0209デフォルトの名無しさん2006/01/08(日) 09:50:18
VC6 で CppUnit 使いたいんだけど どこかにいい解説ない?
0210デフォルトの名無しさん2006/01/08(日) 12:17:41
あげ
0211デフォルトの名無しさん2006/01/08(日) 15:35:40
VC6
0212デフォルトの名無しさん2006/01/08(日) 20:06:10
WindowsCEでCPPUnit使いたいんだけど
コンソールアプリはないは さりとてstrstreamとかもないは どうしたもんかと
0213デフォルトの名無しさん2006/03/14(火) 11:50:32
テストしろ!おまえら!!
0214http://www.vector.co.jp/soft/win95/util/se072729.html2006/03/18(土) 20:37:38
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0215デフォルトの名無しさん2006/03/26(日) 16:28:35
来月からの開発で CppUnit使うから勉強しといてねと言われました。
本当にありがとうございました。
0216デフォルトの名無しさん2006/03/26(日) 19:15:28
Mockつかってテストしたいのにvirtual禁止されてヒドス
02172152006/03/26(日) 20:25:49
いろいろ解説サイトを見て回ってるんだが、俺のショボい経験に照らし合わせてもどうも有用なようには思えない…
鬱だ
0218デフォルトの名無しさん2006/04/08(土) 23:26:55
これほどくだらないドキュメントは他に例をみない
http://www.atmarkit.co.jp/fdotnet/special/tdd/tdd_01.html
0219デフォルトの名無しさん2006/04/21(金) 01:45:48
NUnit!
0220デフォルトの名無しさん2006/04/22(土) 01:39:01
単体テストってどの粒度でおこなうべきもんなんでしょう?
公開関数単体でおこなうべきか、公開関数を組み合わせた形で
おこなうべきか、もしくはその両方かでおこなうべきか。

またテストコードやスタブが間違っていたら意味ないですよね?
これらが演繹的に正しい、間違いは誤差レベルと
いえる粒度でおこなうべきなんでしょうか?
0221デフォルトの名無しさん2006/04/23(日) 14:04:38
>公開関数単体でおこなうべき
だな。
それより下位(内部)がものすごくテストしたいものだとしたら
・そもそもの設計を変更する
とか
・公開関数に格上げする


基本的にテストコードは単純明快であれば間違わないな
あと、テストドリブンって手法もあり
(対象がないので)動作しないテストコード
→(対象のインタフェースだけ作って)動作するが失敗するテストコード
→テストコードが成功するが、汚いコード
→テストに成功するきれいなコード
このステップで

0222デフォルトの名無しさん2006/04/23(日) 21:44:19
>>221
protectまでやるときもあるよ、Mock使うようなテストだと追跡する必要あるし。
0223デフォルトの名無しさん2006/05/04(木) 17:41:04
1)CPPUnitでC言語プログラムのテストもできるんですか?
2)CPPUnitをつかったリモートテストは可能でしょうか?
  (Linux上でテスト対象プログラムを動かして結果をWindows上で表示とか。)

  
0224デフォルトの名無しさん2006/05/05(金) 16:16:51
age
0225デフォルトの名無しさん2006/09/08(金) 08:35:55
書き込みないねぇ。

Visual Studio 2005 で動かしてる人いますか?
0226デフォルトの名無しさん2006/09/12(火) 00:55:09
NUnit?
なら動かしたる
0227デフォルトの名無しさん2006/10/07(土) 14:45:17
>>209
http://pc8.2ch.net/test/read.cgi/tech/1042358524/
http://www.amazon.co.jp/gp/product/4798005711/
0228デフォルトの名無しさん2006/10/07(土) 14:50:27
>>223
1)
純粋なCコンパイラ使っているのなら出来ないね。test caseはC++で書く必要があるし。
C/C++コンパイラなら可能でしょう。
2)
結果はファイル出力(xmlとか)できるので、webサーバと連携するような環境を作れば。
0229デフォルトの名無しさん2006/10/07(土) 16:34:29
このスレの廃れっぷりをみると、ユニットテストなんて必要ないことは明白だ
0230デフォルトの名無しさん2006/10/10(火) 00:24:26
必要性が認知されていないことが明白だとオモ。
0231デフォルトの名無しさん2006/10/16(月) 05:26:50
Visual Studio 2005 対応まだぁ?
CVS に全然動きがないんだけど、もーメンテされてないのかな...
0232デフォルトの名無しさん2006/11/21(火) 21:55:51
>>231
wikiには書いてない?
0233デフォルトの名無しさん2007/01/07(日) 16:52:02
2005対応出来てないのってTestRunnerのIDE統合のとこだよね?
(エラー出た時にリストウィンドウクリックするとIDEのその場所に飛ぶ奴?)
0234デフォルトの名無しさん2007/01/08(月) 13:26:15
CppUnitのTestRunnerがメモリリークする件ってどうにもならんのかね?
0235デフォルトの名無しさん2007/02/18(日) 05:38:15
CPPUNITを使用したオープンソースプロジェクトって何かある?
チュートリアルを読んだだけではイマイチ本導入の仕方がわからん。
0236デフォルトの名無しさん2007/06/15(金) 21:37:43
寂しいスレですね・・・
VC.netでNUnitとTestDriven.NETを使ってる人いませんかね。
情報がなくて使い方がわからない・・・

普段はCppUnit+子河童を使ってます。
最初は面倒でしたが結構快適ですよ。
0237デフォルトの名無しさん2007/06/15(金) 22:59:58
NUnitってC#用なんじゃないっけ?

普段はCppUnit+手構築です(スクリプトツール導入させてもらえないから)
0238デフォルトの名無しさん2007/06/16(土) 03:27:10
わだすはboost::test使ってる
0239デフォルトの名無しさん2007/10/04(木) 22:08:42
VS2005で動かせないんでしょうか?
0240デフォルトの名無しさん2007/10/04(木) 22:42:48
>>239
Expressでは無理だったキガス
0241デフォルトの名無しさん2007/10/05(金) 22:23:28
>>239

静的リンクでは普通の2005でも無理だった気がする。
競合の問題がどうのこうので。CppUnitのプロジェクトを弄れば行けそうだけど。

dllは試してない。
0242デフォルトの名無しさん2007/10/10(水) 12:24:05
質問です。

class FooTest : public CPPUNIT_NS::TestFixture { //
CPPUNIT_TEST_SUITE( FooTest);
CPPUNIT_TEST( test_init );
CPPUNIT_TEST( test_clear );
CPPUNIT_TEST_SUITE_END();

protected:
public:
SandSurfaceBeatTest();
~SandSurfaceBeatTest();
void setUp();
void tearDown();


protected:
void test_init();
void test_clear();
};

こんなテストクラスがあったとして、
このテストクラスに外部から引き数か何かで値を渡したいのですが、何かやり方はないでしょうか。
なんか、これらのクラスってマクロで勝手に生成されるみたいだし、引数を持たせた関数用意してもそれらをどう明示的に呼び出せば良いか分かりません。
0243デフォルトの名無しさん2007/10/20(土) 01:23:26
CppUnitのビルドに関する質問です。

srcフォルダ内のCppUnitLibraries.dswをVisualStudio 2005で開き、ビルドを行ったのですが、
エラー 1 error C3505: タイプライブラリ '{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}' を読み込めません。 z:\cppunit\src\msvc6\testrunner\MsDevCallerListCtrl.cpp 67

といったエラーが出て失敗してしまいます。
何か足りないのでしょうか。タイプライブラリというのもよく分かりません。

CppUnitのバージョンは1.12.0です。
0244デフォルトの名無しさん2008/05/02(金) 14:06:22
hο∫hμ..._〆(゚▽゚*)
0245デフォルトの名無しさん2008/05/08(木) 22:29:00
良スレあげ
0246デフォルトの名無しさん2008/05/09(金) 09:46:48
テスト対象がC++という事を考えると良くできるているとは思った。
だがこのレベルでは使い物にならんと思った、無理ありすぎ。
0247デフォルトの名無しさん2008/05/29(木) 00:26:31
VS2005でCppUnit 1.12.0で問題ない状態だったのだが、1.12.1にしたらビルドが通らない。なして…?
0248デフォルトの名無しさん2008/07/30(水) 22:39:05
なんだよここ、5月から進んでねえな。
0249デフォルトの名無しさん2008/07/30(水) 23:27:51
boost::testにでも移行してるんじゃねーの
0250デフォルトの名無しさん2008/08/02(土) 09:39:40
テストぐらいで大げさなんだよ
0251デフォルトの名無しさん2008/08/02(土) 10:30:30
さすがにCPPUnitのみってのは話題がなさそう。
boostとかgoogleとかあるしな。

しかしこのスレ5年も続いてるのか。
0252デフォルトの名無しさん2008/08/05(火) 20:33:34
googleのやつが出たからもう少し盛り上がると思ったんだけどな
0253デフォルトの名無しさん2008/08/06(水) 00:09:34
スレタイがね…
0254デフォルトの名無しさん2008/08/06(水) 00:28:38
もわっとる
0255デフォルトの名無しさん2008/08/27(水) 15:46:57
xUnitなら良かったのかな。
0256デフォルトの名無しさん2009/01/28(水) 23:08:02
ageとくか。
0257デフォルトの名無しさん2009/02/06(金) 21:18:26
さてと、VS2008Proに単体テスト機能が搭載されたってことでageとこう
0258デフォルトの名無しさん2009/02/10(火) 05:58:09
>>257
C++だとWinUnitの方が使いやすかった
C#だと2008のがよかったけど
0259デフォルトの名無しさん2009/03/19(木) 20:22:56
こやつめw
0260デフォルトの名無しさん2009/04/15(水) 23:21:15
そうかなあ
0261デフォルトの名無しさん2009/07/07(火) 22:32:01
cppunitをeclipseでコンパイルしたいんだけれどうまくいかない...
0262デフォルトの名無しさん2009/09/13(日) 16:54:02
>>261
eclipseにコンパイラってついてるの?
使ったことなくてスマソ
0263デフォルトの名無しさん2009/09/14(月) 23:40:43
は?
0264デフォルトの名無しさん2009/10/14(水) 21:50:58
Eclipseってエディタじゃないの?
0265デフォルトの名無しさん2009/10/14(水) 22:47:45
一通りこのスレ読んでみたが、あまりいい情報ないなぁ。
0266デフォルトの名無しさん2009/10/15(木) 12:44:59
お前が出してもいいんだぜ?
0267デフォルトの名無しさん2009/10/27(火) 20:29:45
CUnit for Mr.Ando 最強
0268デフォルトの名無しさん2009/10/28(水) 16:22:24
UnitTest++こそ最強
0269デフォルトの名無しさん2010/01/26(火) 09:07:07
保守
0270デフォルトの名無しさん2010/03/19(金) 01:34:09
CPPUnitをVisual C++ 2008 Express Edition使おうとしたんですが、
被テストプロジェクトの「構成の種類」をスタティックライブラリにしないとリンクに失敗する。
ところが被テストプロジェクトは全て単体テストでテストするわけじゃなくて、
実際にビルドしてできた実行ファイルを実行して行うテストもあるのでスタティックライブラリにできない。
テストの度に切り替えるのも面倒くさいのでどうしたもんかと思ってたら
>>197を参考にして、被テストプロジェクトのソースファイルをテストプロジェクト側でincludeすることで
なんとか解決しました
0271デフォルトの名無しさん2010/03/19(金) 06:47:26
テスト対象のコードをスタティックライブラリに追い出しなされ。
0272デフォルトの名無しさん2010/03/19(金) 14:49:18
>>270
なんだか良くわからんけど、うちではテスト対象のhoge.dllをtest.exe + cppunit_dll.dllでテストできてるよ。
もちろんソースコードのincludeなんて必要ない。
0273デフォルトの名無しさん2010/07/31(土) 17:37:58
使うの面倒なんだよなCPPUnitって
ただでさえテスト自体が面倒なんだから、RubyのTest::Unitとか
boost::testみたいにコードだけでサクっとテストできないともたない
0274デフォルトの名無しさん2010/09/19(日) 00:56:23
ええ?
0275デフォルトの名無しさん2010/12/29(水) 12:08:08
cppunitのオフラインマニュアルが欲しい。
0276天使 ◆uL5esZLBSE 2011/07/03(日) 00:01:30.13



お前たちは本当にゴミだな
0277デフォルトの名無しさん2011/11/03(木) 16:16:56.09
コンストラクタのテストしたいときはどうするの、これ?
0278デフォルトの名無しさん2011/11/03(木) 16:20:24.70
コンストラクタの何をテストしたいのか知らないけど
テストの中でnewすればいいだけじゃないの?
0279デフォルトの名無しさん2011/11/03(木) 18:11:59.97
なる。setUpやtearDownに気を取られてた。
0280デフォルトの名無しさん2011/11/22(火) 01:38:47.96
そ−なんだ
0281 【37.3m】 電脳プリオン ◆GDSZsj1GHk NGNG?PLT(12078)

  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>163
            / ←>>66
0282デフォルトの名無しさん2012/03/21(水) 12:44:27.37
あげ
■ このスレッドは過去ログ倉庫に格納されています