- シンプルな Asp.net MVC 4 アプリケーションを作成しました
- visula studio 2010 拡張機能を使用して NUnit テスト プロジェクトを作成しました
- いくつかのコントローラー (モデルとビューを含む) を追加すると、Web サイトは正常に動作します。Sql Server CEで動作します
次に、コントローラーをテストする必要があります。私はこの単純なクラスを書きました:
namespace SkateboardShop.Tests.Controllers
{
[TestFixture]
class BrandControllerTest
{
[Test]
public void TestDetailsView()
{
var controller = new BrandController();
var result = controller.Details(2) as ViewResult;
Assert.AreEqual("Details", result.ViewName);
}
}
}
このテストを実行すると、NUnit から次のエラーが返されます。
SkateboardShop.Tests.Controllers.BrandControllerTest.TestDetailsView: System.Data.ProviderIncompatibleException : データベースからプロバイダー情報を取得中にエラーが発生しました。これは、不適切な接続文字列を使用する Entity Framework が原因である可能性があります。内部例外で詳細を確認し、接続文字列が正しいことを確認してください。----> System.Data.ProviderIncompatibleException : プロバイダーが ProviderManifestToken 文字列を返しませんでした。----> System.Data.SqlClient.SqlException : SQL Server への接続の確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー:
確かに、テスト プロジェクトはどこでデータ プロバイダー情報を取得しますか? (テスト プロジェクトの) app.config ファイルに、次のような接続文字列を追加します。
<connectionStrings>
<add name="SkateboardEntities" connectionString="Data Source=d:\Basic\project\asp\SkateboardShop\SkateboardShop\App_Data\SkateboardShop.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
しかし、何もすることはありません。私は MVC と NUnit を初めて使用するので、最初に、単体テストで実際のデータベース データをテストする必要があるかどうか、またそれが良い方法である場合は、その方法を尋ねています。
ありがとう。