1

こんにちは、Mono と ServiceStack は初めてで、OSx 上の Xamarin Studio で統合テストを実行するのに問題があります。

ここの例AppHostListenerBaseTests.csに従っていますが、テストに合格できません。

    private const string listeningOn = "http://localhost:8080/";
    private myAppHost appHost; // extends AppHostHttpListenerBase

    [TestFixtureSetUp()]
    public void TestFixtureSetUp ()
    {
        appHost = new myAppHost ();
        appHost.Init ();
        appHost.Start (listeningOn);

        System.Console.WriteLine("ExampleAppHost Created at {0}, listening on {1}",
                                 DateTime.Now, listeningOn);
    }

    [TestFixtureTearDown()]
    public void TestFixtureTearDown ()
    {
        if (appHost == null)
            return;
        appHost.Dispose ();
        appHost = null;
    }

    [Test()]
    public void StartupWebService ()
    {
       html = listeningOn.GetStringFromUrl();
       Assert.That(html.Contains("The following operations are supported."));
    }

Mono は常にSystem.Net.WebException: The remote server returned an error(404) をスローします。

Web サービス全体のビルドが正常に機能するため、混乱します。起動してメタページに到達しますが、同じコードを使用してテストで実行しようとすると壊れます。これが OSx 上の Xamarin の問題なのか、テスト ケースに単純なものが欠けているだけなのかはわかりません。誰かが以前に同様の問題に対処したことがありますか?

4

1 に答える 1

1

あなたの場合、エミュレータからではなく、実際のデバイスから統合テストを実行していると仮定します。

その場合、http://localhost:8080/はおそらく電話ではなくマシンにのみ存在するため、404 を受け取るのは正常です。

于 2015-08-14T12:10:57.003 に答える