2013-06-09 4 views
1

Привет Я новичок в Mono и ServiceStack, и у меня возникли проблемы с интеграционными тестами на Xamarin Studios на OSx.Integration Testing ServiceStack on MonoDevelop (Xamarin)

Я следую приведенным здесь примерам 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: Удаленный сервер возвратил ошибку (404).

Это сбивает с толку, потому что создание всего веб-сервиса отлично работает. Он запускается и появляется в метапаге, но попытка запустить его в тесте с одним и тем же кодом просто ломается. Я не уверен, что это проблема с Xamarin на OSx или что я просто пропустил что-то простое в своих тестовых случаях. Кто-нибудь раньше сталкивался с подобной проблемой?

ответ

1

В вашем случае я предполагаю, что вы не используете интеграционные тесты, созданные из эмулятора, но с реального устройства.

Если это так, то нормальная, что вы получаете 404, поскольку http://localhost:8080/, вероятно, существует только на вашем компьютере, а не на телефоне.

Смежные вопросы