Можно ли использовать оператор if для определения общих переменных в NUnit TestCases? - PullRequest
0 голосов
/ 16 января 2019

У меня есть тестовый пример, который требует отдельного идентификатораtestId от остальных, но все еще использует те же параметры из предыдущего теста.

Поскольку срок действия конкурсов может истечь, я запрашиваю текущий идентификатор CompetId вместо его жесткого кодирования.

Тест состоит в том, чтобы убедиться, что пользователь может принять участие в нескольких конкурсах за один и тот же период времени. После того, как будет сыграно первое соревнование, я хочу, чтобы оператор if назначил другое значение для Competition ID.

[TestCase("User1@abc.com", "Pass", TestName = "Contest1 Pass")]
[TestCase("User2@abc.com", "Fail", TestName = "Contest1 Fail")]
[TestCase("User3@abc.com", "Invalid", TestName = "Contest1 Invalid")]
[TestCase("User1@abc.com", "Pass", TestName = "Contest2 Pass")]
public async Task PlayContest(string email, string status)
{
    int contestId = 1;

    if(TestName == "Contest2 Pass")
    {
        contestId = 2;
    }

    //Do work here based on assigned contestId
}

Это не позволит мне использовать TestName для определенияtestId в операторе if. Есть ли способ провести различие между значениями TestCase, чтобы я мог определить сценарий для назначения другого значения дляtestId?

Спасибо.

1 Ответ

0 голосов
/ 16 января 2019
[TestCase("User1@abc.com", "Pass", "Contest1 Pass")]
[TestCase("User2@abc.com", "Fail",  "Contest1 Fail")]
[TestCase("User3@abc.com", "Invalid",  "Contest1 Invalid")]
[TestCase("User1@abc.com", "Pass",  "Contest2 Pass")]
public async Task PlayContest(string email, string status,string testName)
{
    int contestId = 1;

    if(testName == "Contest2 Pass")
    {
        contestId = 2;
    }

    //Do work here based on assigned contestId
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...