@Sebastian Спасибо за предложение. Это дает мне некоторые идеи для работы.

тоящее время я пытаюсь написать некоторые модульные тесты для SQL-кода SQL Server, используяtSQLt.

После прочтения документов выясняется, что не поддерживается возможность вызова тестового примера с параметрами вместо записи отдельных тестовых случаев для каждой комбинации параметров.(Ради этого вопроса, пожалуйста, отложите в сторону, считаете ли вы хорошей идеей передать параметры в тестовый пример вместо написания отдельного для каждой комбинации параметров)

Например, вNUnit Вы можете сделать что-то следующим образом, используяПрецедент атрибут:

[TestCase("", -1, false)]
[TestCase("ACT ", 1, true)]
[TestCase("ACT", 1, true)]
[TestCase("aCT", 1, true)]
[TestCase("AUSTRALIAN CAPITAL TERRITORY", 1, true)]
[Test]
public void DetermineStateIdFromText(string aStateText, long aExpectedStateId, bool aExpectedFound)
{
    //Arrange
    WzDetermineStateIdFromTextInput input = new WzDetermineStateIdFromTextInput
                                            {
                                                StateText = aStateText
                                            };

    //Act
    WzDetermineStateIdFromTextOutput output = _WzLocationMappingService.DetermineStateIdFromText(input);

    //Assert
    output.ResultSuccess.ShouldBeTrue();
    output.Found.ShouldBe(aExpectedFound);
    if (output.Found)
    {
        output.StateId.ShouldBe(aExpectedStateId);
    }
}

(Внутренние части метода теста не имеют значения и включены только для полноты. Вызов mustBe ()Shouldly на случай, если вам интересно, где находятся Asserts.)

Кто-нибудь получил какие-либо решения для обеспечения поддержки стиля TestCase в tSQLt?

Ответы на вопрос(1)

Ваш ответ на вопрос