модульное тестирование с использованием службы VSTS wcf в c # - PullRequest
0 голосов
/ 20 июня 2011
  • Я пытаюсь протестировать свой сервис wcf, используя набор тестов в TFS.

    • У меня есть служба wcf в Solution, называемая Inspector .
    • В этом случае файл конфигурации находится в InspectorHost Project
    • В MessageInspector проект есть вспомогательные методы.
    • В этом есть метод с именем CallIssService .
    • Этот IssService является службой, используемой MessageInspector Project.
    • Хотя ссылка на службу находится в этом проекте, файл конфигурации находится в InspectorHost проекте.
    • Метод теста, сгенерированный для этого метода: CallIssServiceTest.cs .

    • Вот проблема. Когда я пытаюсь запустить тест по этому методу, тест завершается неудачно, и появляется ошибка « Не указан URL-адрес для тестирования. Тесты, настроенные для запуска в ASP.NET, должны указать действительный URL-адрес ». Запрашиваемый URL-адрес - это URL-адрес IssService , который использует проект MessageInspector.

Вот код для теста. `

    /// <summary>
    ///A test for CallIss
    ///</summary>
    [TestMethod()] 
    [DeploymentItem("Inspector.MessageInspector.dll")]
    public void CallIssServiceTest()
    {
        CustomUserNameValidator_Accessor target = new CustomUserNameValidator_Accessor();
        target._userName = "tempUserName";
        target._password = "temptemp";

        Identity expected = new Identity();
        expected.UserID = "tempUserName";
        expected.board = new Board();
        expected.board.Code = "013";

        Identity actual;
        actual = target.CallIAA();
        Assert.IsNotNull(actual);
        Assert.AreEqual(expected.UserID, actual.UserID);
        Assert.AreEqual(expected.board.Code, actual.board.Code);  
    }

`

Вот класс для тестирования.

    using IssService;
    /// <summary>
    /// This calles the Iss Service to Authenticate the user
    /// </summary>
    /// <returns></returns>
    private Identity CallIssService()
    {
        Identity userIdentity = 
         new IssServiceClient().VerifyUser(_userName, _password, null);
        return userIdentity;
    }

Может ли какое-нибудь тело помочь мне понять, в чем заключается ошибка, которую я совершаю, или есть что-то еще, что можно сделать в этом контексте.

Заранее спасибо за любую помощь.

С уважением, Чанд.

1 Ответ

0 голосов
/ 21 июня 2011

Исправлено ( эта ссылка мне помогла. )


1) В LocalTestRun.testrunConfigfile / развертывание выбран файл Web.Config в хост-проекте. Нажмите Apply и сохраните его.

2) В папку тестового проекта добавлен файл RenameWebConfig.bat, в котором ниже одной строки кода указано, что он должен копировать файл Web.config и переименовывать его при каждой новой сборке.

переименовать web.config UAWebService.TestProject.dll.config

Следовательно, проблема настроек Config, невидимых для тестового проекта, решена. Интересно, почему Microsoft пропустила этот аспект;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...