Как создать один «модульный» тест для каждого запроса, чтобы отобразить результат в Test Explorer - PullRequest
1 голос
/ 28 мая 2019

Сейчас моя задача - проверить все запросы, хранящиеся в базе данных, и отобразить результат в Test Explorer , мне удалось протестировать каждый запрос (я просто запускаю его, проверяю на ошибки) и сохраните пользовательское сообщение об ошибке для каждой ошибки в текстовом файле, чтобы оно работало на данный момент, но вывод не такой, как я хочу).

* Юридическая информация 1006 *
Я полагаю, что юнит-тестирование может быть не самым умным способом проверки запросов, но именно так меня просили сделать это, поэтому я попробую.

Дело в том, что я тестирую все запросы в пределах одного [TestMethod], и результат выглядит так: (только один метод тестирования в Test Explorer )

Test explorer result

Но я бы хотел знать, возможно ли иметь несколько [TestMethod], чтобы мы могли видеть, какие методы работают, а какие нет в Test Explorer .

Test explorer result 2

Мои исследования привели меня к этому коду:

[TestMethod]
[DataSource("System.Data.SqlClient",
            @"Data Source=****;Initial Catalog=****;Persist Security Info=True;User ID=sa;Password=****;Pooling=False",
            "Query",
            DataAccessMethod.Sequential)]    // My DataSource works
public void MyTestMethod()
{
        var q = new QueryDto
        {
            // Create my query with the Id, Name, Query, Parameters...
        };

        ExecTest(q);
}

public void ExecTest(QueryDto query)
{
       // my testing here
}

Я пытался добавить [TestMethod] к методу ExecTest(), но это не очень помогло с тем, чего я пытаюсь достичь.

Так скажите, пожалуйста, возможно ли 1038 *, и если да, то как это сделать.

Не стесняйтесь задавать вопросы \ редактировать Я буду в курсе, так что вам не придется ждать, если вы попытаетесь мне помочь.

EDIT

Я отправляю другой вопрос, потому что в этом есть некоторые ошибки. Спасибо за помощь, кстати ^^.

1 Ответ

0 голосов
/ 28 мая 2019

Пока я буду придерживаться ответа, который я получил здесь создать тест программно

мой код:

[TestMethod]
[DataSource("System.Data.SqlClient",
            @"Data Source=****;Initial Catalog=****;Persist Security Info=True;User ID=sa;Password=****;Pooling=False",
            "Query",
            DataAccessMethod.Sequential)] 
public void MyTestMethod()
{
           // my testing here using TestContext.DataRow["columnName"] to get the Name, id, Parameters...
}

Это отображает тесты, как показано:

enter image description here

В верхней части Test Explorer он по-прежнему отображается как один тест, но по крайней мере все строки детализированыв нижней части, и я могу отобразить пользовательское сообщение, чтобы дать некоторую информацию о том, какой запрос не удалось, так что все в порядке.

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