3

これは、Asp.Net Web アプリケーションの最初のテストです。いくつかのモジュールで構成されるエンジンがあります。エンジン モジュールでクラスをテストする必要があります。これらのクラスは Asp.Net アプリの一部ですが、ビジネス ロジックのみで構成されています。

これらのクラスを分離して WebApp の一部としてテストするにはどうすればよいですか? 私はこのエラーが発生しているので

Web 要求 ' http://localhost:8936/ ' は、テストを実行せずに正常に完了しました。これは、テスト用の Web アプリケーションの構成が失敗した場合 (要求の処理中に ASP.NET サーバー エラーが発生した場合)、または ASP.NET ページが実行されなかった場合 (URL が HTML ページ、Web サービス、またはディレクトリのリスト)。ASP.NET でテストを実行するには、URL が ASP.NET ページに解決され、そのページが Load イベントまで適切に実行される必要があります。リクエストからのレスポンスは、テスト結果とともに「WebRequestResponse_BlogManagerBPOConstr.html」ファイルに保存されます。通常、このファイルは Web ブラウザで開いて内容を表示できます。

ありがとう

編集: @Mark、これはデザイナーによって生成された TestMethods の 1 つです。

/

// <summary>
        ///A test for BlogManagerBPO Constructor
        ///</summary>
        // TODO: Ensure that the UrlToTest attribute specifies a URL to an ASP.NET page (for example,
        // http://.../Default.aspx). This is necessary for the unit test to be executed on the web server,
        // whether you are testing a page, web service, or a WCF service.
        [TestMethod()]
        [HostType("ASP.NET")]
        [AspNetDevelopmentServerHost("D:\\WorkingCopies\\MyProject\\Engine", "/")]
        [UrlToTest("http://localhost:8936/")]
        public void BlogManagerBPOConstructorTest()
        {
            BlogManagerBPO target = new BlogManagerBPO();
            Assert.Inconclusive("TODO: Implement code to verify target");
        }
4

4 に答える 4

5

取得している例外メッセージは、単体テストのようには聞こえません。代わりに Visual Studio Web テスト スイートを実行しようとしていますか?

単体テストの場合は、ビジネス ロジック クラスのインスタンスを作成し、ASP.NET ランタイムから干渉されることなくテストするだけで済みます。

MsTest では、次のようになります。

[TestMethod]
public void Test5()
{
    var sut = new Thing();
    var expectedResult = new object();
    sut.Bar = expectedResult;
    var actual = sut.Bar;
    Assert.AreEqual(expectedResult, actual);
}

(おそらく、最もエキサイティングなテストではありませんが...)

ASP.NET の詳細はどこにもありません。

これは、ビジネス ロジックを別のライブラリに配置し、それが System.Web などを参照しないようにする場合に最適です。

于 2010-01-12T20:40:58.623 に答える
1

または、マークが言った
[HostType("ASP.NET")] [AspNetDevelopmentServerHost("C:\xx\xx\Documents\Visual Studio 2010\Projects\xx\xx", "/")] [UrlToTest("http://localhost:xxx/examples.aspx")] [DeploymentItem("examples.dll")] ように、MVC プロジェクトで使用しようとしていたものを取り除くが、取り除くまで合格しませんでした

于 2012-01-24T09:21:47.467 に答える