• ベストアンサー

C#での単体テストの置き場

VisualStudioExpressをインストールしてC#の開発を始めました 標準で単体テスト機能を持っていないので NUnitを導入してみましたが C#の慣習ではテストのファイルというのはどこに置くものなのでしょうか? 普段はrubyでWebアプリを作っているのですが アプリケーション周りはほとんど知らない人間です

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

VS 2010におけるMS Test用コードの自動生成機能では, 別のプロジェクトのルートにファイルを作るようになっています。 CLI (.NET Framework) において,基本的に区切りはアセンブリであるため, プロジェクト内のソースファイルの位置は,元々気にする必要がありません。 rubyと違いコンパイルされますし (ASP.NET Webサイト等を除く), Javaと違い名前空間はファイルのパスとは無関係です。 これらのこともあってか,ファイルの位置に関するガイドラインは,MSからは出ていないと思います。 なので,あまり慣習が確立されている,という状態ではないのではないでしょうか。 まぁ,フォルダで階層化されたプロジェクトに対するテストプロジェクトは, 対応するフォルダがあった方がわかりやすいとは思いますが……。

m_matsubara
質問者

お礼

ナルホド、言われてみればその通りですね 言われましたお話をまとめると、別のプロジェクトに切り分けたほうが管理的には楽そうに見えますのでその方法を通してみようと思います 初心者の質問にお答えいただき ありがとうございました

関連するQ&A

  • 単体テストについて

    システム開発を行う際に、単体テストというものを 行うらしいですね。(勉強している身です。) Webで情報を探すと、単体テストの重要性や テストがいい加減になってきてる等の情報が数多くあり、 思うように欲しい情報が見つかりません。 単体テストを行うに当たって、何が必要ですか? 例えばソースコード。 必要なものと、何に使うかもご教授いただければ幸いです。

  •   単体テストを自分でも組めるのか?

      単体テストを自分でも組めるのか? C++でOOPに挑戦しているんですが、CppUnit?とか全くわからないのですが 単体テストの概念は分かるのです。 自分はC++の経験が浅く使いこなすようになったばかりの新参者なんです。 この状態で単体テストというものを用いてプログラムを組むことは可能なんでしょうか? もしくは開発効率は上がるんでしょうか?

  • 【C言語】単体テストのイメージが全くつかない

    閲覧ありがとうございます。 C言語での改修案件に携わっているのですが、当方C言語も開発も経験のないものでして、単体テストについてお伺いしたいです。 システムBの単体テストをしたいとします。 システムBは、別サーバにあるシステムAからソケット通信で電文を受け取り、同サーバにあるシステムCにメッセージキューで電文を送ります。 また逆に、システムCからメッセージキューで電文を受け取り、システムAにソケット通信で電文を送ることもあります。 基本的にデータの中継を担うシステムです。 このとき、一体システムBの単体テストはどのような項目をやるのが正しいのでしょうか? (※CUnit等は使えません) JavaはJUnitを使っての単体テストの学習はしたことがあるのですが、C言語での単体テストの項目もやり方も全く想像がつきません。 私にPGの才能がないことは重々承知しておりますので、出来れば分かりやすくお教えいただければ幸いです。 よろしくお願いいたします。

  • ビッグエンディアンProgramの単体テスト

    以下の条件のCソース(ANSI準拠)をPC(OS:windows2K NTなど)上で単体テストする開発環境(ソフト)は,あるのでしょうか? ・ビッグエンディアンで作成されている ・実機CPUは,PowerPC603e ・テスト結果にてC0 C1カバレージ取得が必要 やはりPCのCPUは,インテル(リトルエンディアン)だからテストは,実機上でしかできないでしょうか? 大変へんな質問で申し訳ありませんが御回答ください。

  • C++のプログラムの作成

    C++のプログラムを書いてみようと思い、 VisualStudio2012をインストールしたところです。 まずは「Hello world」からでよいのですが、 添付の画像の画面に出てくるメニューで、それぞれどのような違いがあるのかを知りたいです。 ・XAML(新しいアプリケーション、グリッドアプリケーション、分割アプリケーション、Direct2Dアプリケーション) ・Windowsストアアプリ(DLL、スタティックライブラリ、単体テストライブラリ) のそれぞれは、どのような違いがあるのでしょうか?

  • テストフェーズで何をするか

    SI企業で勤めております。 恥ずかしい話ですが、開発の経験が少なく、 各テストフェーズでどういった観点のテストをするのか、 あまりわかっていません。 単体テストは、モジュール内の分岐やエラーハンドリングなど 網羅的に確認するとしてイメージがあります。 これ以外にも、 1.結合テスト 2.機能テスト 3.システムテスト など今まで耳にしました。 それぞれのテストでは、一般的にはこれをする、など 考え方や手法はあるのでしょうか?。 例えば以下のようなテストは、 どのテストでやれば良いのでしょうか?。 ・Webアプリでの画面遷移(ログインして一覧画面から、選択し更新~完了画面の表示) ・夜間バッチの正常終了(バッチは、ジョブスケジューラから起動) (ざっくりですみません、、) 「画面遷移」というのは、システム側(開発者側)から見た用語ですが、その画面遷移の 提供機能である、例えば「在庫参照」、「受注登録」は、ユーザから見た「機能」だと思います。 テストとしては、両方の観点でテストフェーズを設けるものでしょうか・・?。 アドバイスを頂ければ幸いです。

  • RubyとJava どちらでWEB開発をするか?

    今、会社でパッケージのWEBアプリケーションを作ろうと考えています。 仕様はだいたい決まり、ではどの言語で開発するかという段階で、Ruby on Rails か Java (JSFなど使用)いづれかを使用して開発することになりました。 Ruby on Rails だと簡単にWEBアプリを作成できるイメージがあり、Javaで作成すると多少手間はかかりますが、いろいろな機能を拡張できそう(ライブラリなどがRubyより豊富。ツールなども揃っている)、 などどちらもメリットがありそうです。速度も速い? パッケージ開発であるため、最終的には大規模のデータを取り扱える仕組みを構築しておきたいのですが、なるべくなら簡単に作成できるRubyで作りたいと思っていますが、本当にRubyで作ってもよいものでしょうか? なにとぞアドバイスお願い致します。

    • ベストアンサー
    • Java
  • CppUnitはCプログラムにも使えますか?

    タイトルの通りなのですが、今度Cでプログラムを作ることになりました。今まではC++の開発が多かったので、単体試験はCppUnitを使っていました。webで探すと、CUnitというものがヒットしましたが、何者なのかよくわかりませんでした。新しいツールを導入する工数が無いので、できればCppUnitを使いたいです。CppUnitがCプログラムにも対応していればうれしいのですが、Cでも使えるのでしょうか。「ここをこうすれば使えるようになる」というような情報だけでもありがたいです。

  • かつてのvb6のように、そこそこ早くて、作成もまあ楽チンで、単体exeを作れる、開発環境をご存じないでしょうか?

    プログラム経験10年弱です。 VB,VB.net,vbs,vba(excel,word,access),素C,java,javascript,delphi で、一通りプログラムが組めます。 (ウェブアプリは、今回の質問の対象外です) 会社で使う簡易ツール用に、主としてエクセルVBAを使用していますが、 遅い、ということで、単体アプリ(.exe)の作成を考えています。 (セキュリティ等の制限で、レジストリ等は一切いじれず、.netフレームワーク等もいっさいインストール不可です。) (最近のmicrosoftの開発言語は、.netフレームワークが前提、というようですし、素のcを書くのは、vb(a)に比べるとちょっと「めんどくさい」という気がしてます。 vbscriptは、楽チン便利ですが、「速度面」でどうしても劣る気がします。  かつてのvb6のように、そこそこ早くて、作成もまあ楽チンで、単体exeを作れる、というのが希望なのですが、 こういう場合の「単体アプリ作成」に、どういった選択肢がありますでしょうか?  開発言語や開発環境で、オススメのものがあれば、ぜひご教示ください。 (開発環境は、多少重くてもよいのですが、出来上がったアプリは、1ファイルで、たいがいのところで動く、というのが希望です。一応動かす環境の想定は、win xpだけです。)

  • CかJavaか

     これからプログラミング言語を勉強しようと思って何言語をしようか迷っております。それはC言語かJavaかです。  何が目的かといいますと、ゲームの作成やちょっとしたアプリケーションの開発です。(Web用ではありません。) Javaでも開発できるそうなのですが、大体はC言語(系)で開発しているのですよね? あともうひとつ、携帯電話用のアプリってJavaでしか開発できないんですか?Cでは不可能ですか? ちなみに、私が今までやってきたのはJavaScriptとPHPぐらいです。よろしくお願いします。