[表示 : 全て 最新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]
テスト自動化全盛のこのご時世皆様いかがお過ごしでしょうか。
より賢い利用法を考えていきませんか。

159 名前:デフォルトの名無しさん mailto:sage [04/07/25 20:53]
C++でTDDはやめといたほうが良い、ということ?

160 名前:デフォルトの名無しさん mailto:sage [04/07/25 20:58]
TDDってなんですか?

161 名前:デフォルトの名無しさん mailto:sage [04/07/25 21:04]
テストドリヴンデヴェロップメント

162 名前:デフォルトの名無しさん [04/08/01 03:48]
CxxTest って使ったことある人いる?
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のセンスも素晴らしい。



163 名前:デフォルトの名無しさん [04/08/04 01:23]

        ぬるぽ!

164 名前:デフォルトの名無しさん [04/08/04 02:39]
void check(bool);
#define ASSERT(x)
だけあれば十分な気がするんだけど...
framework使う利点ってどんな事?


165 名前:デフォルトの名無しさん mailto:sage [04/08/04 02:41]
エラー起きても止めなくて別のテストできる

166 名前:デフォルトの名無しさん mailto:sage [04/08/04 04:07]
>>164
1. テスト間の結合度を相対的に低くできる。
2. 記法がある程度統一できるので、可読性の向上が期待できる

一方で、フレームワークが使えない環境ではテストできないというものではな
いと思う。あくまでフレームワークは費用対効果を改善するためのもの。


167 名前:デフォルトの名無しさん mailto:sage [04/11/03 01:00:45]
visualstudio.netでcppunitがコンパイル不能ですよ



168 名前:デフォルトの名無しさん mailto:sage [04/11/03 01:02:27]
cppunitはウンコ。
JUnitを見習え

169 名前:167 mailto:sage [04/11/03 03:51:00]
なんか成功しました。
C++は言語仕様的に不利だから統合開発環境の側でサポートしてもらわんとやってられんね。
とりあえず、eclipseに期待。

170 名前:デフォルトの名無しさん mailto:sage [04/11/03 18:06:49]
boost::testの今後に期待

171 名前:デフォルトの名無しさん [04/11/04 01:19:49]
コンパイラエラーになることを保証する機能ってある?


172 名前:デフォルトの名無しさん mailto:sage [04/11/04 07:38:20]
>>171
#error

あるいは BOOST_ASSERT()

173 名前:デフォルトの名無しさん mailto:sage [04/11/04 07:44:09]
>>172 そうじゃないよ。

174 名前:デフォルトの名無しさん mailto:sage [04/11/04 11:48:22]
fail

175 名前:デフォルトの名無しさん mailto:sage [04/12/08 13:16:23]
>>162
CxxTestいいね。

176 名前:デフォルトの名無しさん mailto:sage [04/12/09 21:41:37]
>>162
Win32Guiだとなぜかウィンドウが一瞬で消える('A`)
でも便利だな。使わせてもらおう。

177 名前:176 mailto:sage [04/12/09 23:23:15]
> Win32Guiだとなぜかウィンドウが一瞬で消える('A`)
自己解決。テストを実行するときに-keepオプション。



178 名前:176 mailto:sage [04/12/09 23:57:20]
VS.netでcxxunitを使う方法。テストプロジェクト作成→プロパティのビルドイベント-ビルド前のイベントに
perl -w d:\home\lib\cxxtest\cxxtestgen.pl --error-printer -o runner.cpp --gui=Win32Gui *.hpp
って具合にコマンド記述(ほんとはバッチファイルにすべき)
デバッグ-コマンド引数に-keepを追加。

これは便利。河童とかもうどうでもいいですよ!

179 名前:デフォルトの名無しさん [05/01/05 23:24:45]
今日、初めてCppUnitを試してみたのですが
privateなメソッド・メンバをテストするにはどうしたら良いですか?
getメソッドもfriendも書きたくないのですが…。


180 名前:デフォルトの名無しさん mailto:sage [05/01/06 00:31:12]
>>179
CppUnit はよく知らないけど、
テストコードのコンパイル時に #define private public とかしちゃう方法を思いついた。
あまり良くないとは思うけど、実害は無かったりするのかな?

181 名前:デフォルトの名無しさん mailto:sage [05/01/06 01:59:33]
>180
コンパイル出来無かったヨ

182 名前:デフォルトの名無しさん mailto:sage [05/01/06 02:45:24]
>>181
#define private public でコンパイルできなくなることがあるのか。
どんなケースか思いつかないから、よかったらエラーメッセージ教えてくれない?
該当部分のソースも見せてもらえると嬉しいな。

183 名前:179 [05/01/06 07:54:56]
>>180
おぉ。なんと大胆な…。
やってみたけど、publicメソッドが無いと言われて、リンクが通りません。
テスト対象クラスに#define public privateしないとだめですね…。(それならリンクが通る)
あまりテスト対象クラスには、手を入れたくないなぁ。
代案はありませんか?

184 名前:179 [05/01/06 07:55:38]
>>183
×public private
○private public

185 名前:181 mailto:sage [05/01/07 02:25:10]
>182
通った通った。

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

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

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

としたらOKだったヨ


186 名前:181 mailto:sage [05/01/07 02:33:10]
……と思ったけど、やっぱダメだった。

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

てしかられた

187 名前:デフォルトの名無しさん mailto:sage [05/01/07 02:38:34]
>>186
エラーメッセージ略すなよ。
解決を助けてもらうつもりが無いならいいけど。



188 名前:デフォルトの名無しさん mailto:sage [05/01/07 19:20:52]
ネットワーク関連の開発してるんだけど、
相手から送られてくる不正なデータとかを正しくハンドリングできるか、ってのは
どうやって実装するべき?
今はとりあえずテストケース内でスレッドを別に作ってループバックで接続したり、
テストをクライアントとサーバで別に書いて、同時に実行、とかしてんだけど、
ネットワークのI/Oの動作を真似るオブジェクトに差し替え、とかのほうがいいのかな?

189 名前:デフォルトの名無しさん mailto:sage [05/01/09 15:31:22]
CPPUNITのテスト結果をいわゆる「テスト結果報告書」として出力するいい方法ない?

190 名前:デフォルトの名無しさん mailto:sage [05/01/10 18:13:38]
>188
つ[モック・オブジェクトパターン]

191 名前:デフォルトの名無しさん [2005/05/12(木) 10:06:50 ]
あげ
eclipseのcppunit pluginを使っている人いる?

192 名前:デフォルトの名無しさん mailto:sage [2005/05/12(木) 19:23:45 ]
>>189
resultや出力部分に細工して、結果を評価したり出力フォーマットを切り替えたり。

193 名前:デフォルトの名無しさん mailto:sage [2005/05/16(月) 02:18:48 ]
今月一杯製造、来月から単体試験という工程のCの作業しています。
単体試験はCUnitを使うという方針らしいのですが、static関数の試験や、
試験する関数内で呼び出した関数のリターンによる分岐の確認方法がわかりません。
呼び出す関数が別ソースならスタブにもできるのですが、同一ソースの関数だとソース
に手を入れない解決方法が思いつきません。
上からは簡単なサンプルだけ提示されていて、各自ネットなどで調べるように
とのことなのですが検索してもわからないのでどうかご教授お願いします。

194 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:36:37 ]
>static関数の試験
しない(static関数の呼び元を試験する) or グローバル化

>試験する関数内で呼び出した関数のリターンによる分岐の確認
似非呼び出し関数を試験ソース側に作りそれを呼ぶ
本物は呼び出さない

195 名前:デフォルトの名無しさん mailto:sage [2005/05/21(土) 01:37:49 ]
っつーか作り方間違ってる希ガス
試験しながら作れや

196 名前:193 mailto:sage [2005/05/21(土) 18:55:11 ]
>>194-195
説明ありがとうございます。
既存のソースがあってその機能拡張なので元のスタイルに合わせると
内部関数はすべてstaticになってしまうし、同一ソース内に試験対象
の関数が呼ぶ関数があったりして試験ソースに偽の関数定義しても
リンクエラーになってしまいます。
工程も今月中は製造、来月から単体試験ときっちり分かれていて、
試験項目を作り始めるのも来月だし今月中は試験用のスタブとかを
作って確認しながら作業を進めると間に合わなくなりそうです。
とりあえずい今月はCUnitで確認しやすい関数つくりを念頭において
作業して、単体試験工程では何とかソースをifdefでごまかしてCUnit
を使おうと思います。

197 名前:デフォルトの名無しさん mailto:sage [2005/06/12(日) 13:09:58 ]
まー、テストファーストを無視している時点でアレだが。

static関数のテストは、staticキーワードを#defineで無効化するか、
ソースファイル自身を別のテストコード用ソースに#includeしてしまえば出来ないことはない。



198 名前:デフォルトの名無しさん mailto:sage [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よりもシンプルでプアな環境でも使用できる

199 名前:デフォルトの名無しさん [2005/07/21(木) 17:30:16 ]
VC.netでテスト環境を構築しようとしているのですが、
CPPUnitの参考ページ少なすぎ。(しかも、ほとんどVC6用のみ)

みんなCPPUnit使ってないんですかね?
テスト環境を構築するまでに、1日潰れそうな気配。

200 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 20:58:42 ]
>>199
つ boost::test

201 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 22:03:36 ]
>>200
1日掛けて、なんとかテスト環境ができたので、
このまま行きます。

元々、Java+JUnit+Eclipseを使ってるので、正直不便ですね。

202 名前:デフォルトの名無しさん mailto:sage [2005/07/22(金) 00:34:49 ]
VC6でのCPPUnit環境も結構面倒でつらいぞ。

203 名前:デフォルトの名無しさん mailto:sage [2005/07/22(金) 01:31:38 ]
NUnit
とtestdriven.net
これ最強

204 名前:デフォルトの名無しさん mailto:sage [2005/07/25(月) 19:57:41 ]
テストなんて実はみんなやってない気がしてきた。
本や雑誌のページ埋めるだけの都市伝説なんじゃねーの?

205 名前:デフォルトの名無しさん mailto:sage [2005/07/25(月) 23:10:38 ]
失礼な、やっとるわ。
# まともな上司探せ!

206 名前:デフォルトの名無しさん [2005/07/26(火) 03:22:14 ]
>>191
EclipseにCPPUnit pluginってあるんですか?
CDTのことですか?

EclipseでJUnit並みのことが出来るCPPUnit or CUnitプラグインって
なんか無いですか?


207 名前:デフォルトの名無しさん mailto:sage [2005/08/01(月) 21:26:14 ]
無い



208 名前:デフォルトの名無しさん [2005/11/15(火) 19:48:03 ]
age

209 名前:デフォルトの名無しさん mailto:sage [2006/01/08(日) 09:50:18 ]
VC6 で CppUnit 使いたいんだけど どこかにいい解説ない?

210 名前:デフォルトの名無しさん [2006/01/08(日) 12:17:41 ]
あげ

211 名前:デフォルトの名無しさん mailto:sage [2006/01/08(日) 15:35:40 ]
VC6

212 名前:デフォルトの名無しさん mailto:sage [2006/01/08(日) 20:06:10 ]
WindowsCEでCPPUnit使いたいんだけど
コンソールアプリはないは さりとてstrstreamとかもないは どうしたもんかと

213 名前:デフォルトの名無しさん [2006/03/14(火) 11:50:32 ]
テストしろ!おまえら!!

214 名前:http://www.vector.co.jp/soft/win95/util/se072729.html mailto:http://msdn2.microsoft.com/ja-jp/library/h2k70f3s.aspx [2006/03/18(土) 20:37:38 ]
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?

215 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 16:28:35 ]
来月からの開発で CppUnit使うから勉強しといてねと言われました。
本当にありがとうございました。

216 名前:デフォルトの名無しさん mailto:sage [2006/03/26(日) 19:15:28 ]
Mockつかってテストしたいのにvirtual禁止されてヒドス


217 名前:215 mailto:sage [2006/03/26(日) 20:25:49 ]
いろいろ解説サイトを見て回ってるんだが、俺のショボい経験に照らし合わせてもどうも有用なようには思えない…
鬱だ




218 名前:デフォルトの名無しさん [2006/04/08(土) 23:26:55 ]
これほどくだらないドキュメントは他に例をみない
www.atmarkit.co.jp/fdotnet/special/tdd/tdd_01.html

219 名前:デフォルトの名無しさん mailto:sage [2006/04/21(金) 01:45:48 ]
NUnit!

220 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 01:39:01 ]
単体テストってどの粒度でおこなうべきもんなんでしょう?
公開関数単体でおこなうべきか、公開関数を組み合わせた形で
おこなうべきか、もしくはその両方かでおこなうべきか。

またテストコードやスタブが間違っていたら意味ないですよね?
これらが演繹的に正しい、間違いは誤差レベルと
いえる粒度でおこなうべきなんでしょうか?

221 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 14:04:38 ]
>公開関数単体でおこなうべき
だな。
それより下位(内部)がものすごくテストしたいものだとしたら
・そもそもの設計を変更する
とか
・公開関数に格上げする


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



222 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 21:44:19 ]
>>221
protectまでやるときもあるよ、Mock使うようなテストだと追跡する必要あるし。


223 名前:デフォルトの名無しさん [2006/05/04(木) 17:41:04 ]
1)CPPUnitでC言語プログラムのテストもできるんですか?
2)CPPUnitをつかったリモートテストは可能でしょうか?
  (Linux上でテスト対象プログラムを動かして結果をWindows上で表示とか。)

  


224 名前:デフォルトの名無しさん [2006/05/05(金) 16:16:51 ]
age

225 名前:デフォルトの名無しさん mailto:age [2006/09/08(金) 08:35:55 ]
書き込みないねぇ。

Visual Studio 2005 で動かしてる人いますか?


226 名前:デフォルトの名無しさん mailto:sage [2006/09/12(火) 00:55:09 ]
NUnit?
なら動かしたる

227 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 14:45:17 ]
>>209
pc8.2ch.net/test/read.cgi/tech/1042358524/
www.amazon.co.jp/gp/product/4798005711/



228 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 14:50:27 ]
>>223
1)
純粋なCコンパイラ使っているのなら出来ないね。test caseはC++で書く必要があるし。
C/C++コンパイラなら可能でしょう。
2)
結果はファイル出力(xmlとか)できるので、webサーバと連携するような環境を作れば。

229 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 16:34:29 ]
このスレの廃れっぷりをみると、ユニットテストなんて必要ないことは明白だ

230 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 00:24:26 ]
必要性が認知されていないことが明白だとオモ。

231 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 05:26:50 ]
Visual Studio 2005 対応まだぁ?
CVS に全然動きがないんだけど、もーメンテされてないのかな...


232 名前:デフォルトの名無しさん mailto:sage [2006/11/21(火) 21:55:51 ]
>>231
wikiには書いてない?

233 名前:デフォルトの名無しさん [2007/01/07(日) 16:52:02 ]
2005対応出来てないのってTestRunnerのIDE統合のとこだよね?
(エラー出た時にリストウィンドウクリックするとIDEのその場所に飛ぶ奴?)

234 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 13:26:15 ]
CppUnitのTestRunnerがメモリリークする件ってどうにもならんのかね?

235 名前:デフォルトの名無しさん [2007/02/18(日) 05:38:15 ]
CPPUNITを使用したオープンソースプロジェクトって何かある?
チュートリアルを読んだだけではイマイチ本導入の仕方がわからん。

236 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 21:37:43 ]
寂しいスレですね・・・
VC.netでNUnitとTestDriven.NETを使ってる人いませんかね。
情報がなくて使い方がわからない・・・

普段はCppUnit+子河童を使ってます。
最初は面倒でしたが結構快適ですよ。

237 名前:デフォルトの名無しさん mailto:sage [2007/06/15(金) 22:59:58 ]
NUnitってC#用なんじゃないっけ?

普段はCppUnit+手構築です(スクリプトツール導入させてもらえないから)




238 名前:デフォルトの名無しさん mailto:sage [2007/06/16(土) 03:27:10 ]
わだすはboost::test使ってる

239 名前:デフォルトの名無しさん [2007/10/04(木) 22:08:42 ]
VS2005で動かせないんでしょうか?


240 名前:デフォルトの名無しさん mailto:sage [2007/10/04(木) 22:42:48 ]
>>239
Expressでは無理だったキガス

241 名前:デフォルトの名無しさん [2007/10/05(金) 22:23:28 ]
>>239

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

dllは試してない。

242 名前:デフォルトの名無しさん mailto:sage [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();
};

こんなテストクラスがあったとして、
このテストクラスに外部から引き数か何かで値を渡したいのですが、何かやり方はないでしょうか。
なんか、これらのクラスってマクロで勝手に生成されるみたいだし、引数を持たせた関数用意してもそれらをどう明示的に呼び出せば良いか分かりません。


243 名前:デフォルトの名無しさん mailto:sage [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です。

244 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:06:22 ]
hο∫hμ..._〆(゚▽゚*)

245 名前:デフォルトの名無しさん [2008/05/08(木) 22:29:00 ]
良スレあげ

246 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 09:46:48 ]
テスト対象がC++という事を考えると良くできるているとは思った。
だがこのレベルでは使い物にならんと思った、無理ありすぎ。

247 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:26:31 ]
VS2005でCppUnit 1.12.0で問題ない状態だったのだが、1.12.1にしたらビルドが通らない。なして…?



248 名前:デフォルトの名無しさん [2008/07/30(水) 22:39:05 ]
なんだよここ、5月から進んでねえな。

249 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 23:27:51 ]
boost::testにでも移行してるんじゃねーの

250 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 09:39:40 ]
テストぐらいで大げさなんだよ

251 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 10:30:30 ]
さすがにCPPUnitのみってのは話題がなさそう。
boostとかgoogleとかあるしな。

しかしこのスレ5年も続いてるのか。

252 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 20:33:34 ]
googleのやつが出たからもう少し盛り上がると思ったんだけどな

253 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:09:34 ]
スレタイがね…

254 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:28:38 ]
もわっとる


255 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:46:57 ]
xUnitなら良かったのかな。

256 名前:デフォルトの名無しさん [2009/01/28(水) 23:08:02 ]
ageとくか。

257 名前:デフォルトの名無しさん [2009/02/06(金) 21:18:26 ]
さてと、VS2008Proに単体テスト機能が搭載されたってことでageとこう



258 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 05:58:09 ]
>>257
C++だとWinUnitの方が使いやすかった
C#だと2008のがよかったけど

259 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 20:22:56 ]
こやつめw






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

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

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