ASP.net Web サイト プロジェクト (.net 3.5) があります。現在、非コード ビハインド コード ファイル (Linq2Sql のもの、データ コンテキスト、ビジネス ロジック、拡張メソッドなどを含む) はすべて、App_Code フォルダーにあります。
プロジェクトの少なくともいくつかのセクションでユニットテスト (nunit を使用) を導入することに興味があります。私が行う単体テストでは、現在 App_Code フォルダーにあるすべてのコードに完全にアクセスできる必要があります。私はこれまでにいくつかの最初の読書をしましたが、コンセンサスは次のようです。
- 私の現在の設定では、これは不可能です
- 単体テストでは、コンパイルされた dll の一部であるクラスを参照する必要があり、定義上、Web サイト プロジェクトは実行時にのみコンパイルされます。
- 続行するには、プロジェクト全体を Web アプリケーションに変換するか、テストするすべてのコード (App_Code の内容全体) をクラス ライブラリ プロジェクトに移動して、クラス ライブラリを参照する必要があります。 Web サイト プロジェクトのプロジェクト。これらのいずれも、コンパイル済みの dll 形式で必要なクラスへのアクセスを提供し、それらを単体テストできるようにします。
これは正しいです?または、プロジェクト全体を再構築/リファクタリングせずに単体テストできる別の方法はありますか?