繁体   English   中英

是否可以使用if语句在NUnit TestCases中定义共享变量?

[英]Can if statement be used to define shared variables in NUnit TestCases?

我有一个测试用例,需要一个与其余测试分开的testingId,但是仍然使用与先前测试相同的参数。

由于比赛可能过期,因此我查询以获取当前的raceId,而不是对其进行硬编码。

该测试是为了确保用户可以在同一时间段内参加多个竞赛。 一旦举行了第一场比赛,我希望if语句为CompetitionId分配另一个值。

[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在if语句中定义CompetitionId。 有没有一种方法可以区分TestCase值,因此我可以定义方案以为CompetitionId分配不同的值?

谢谢。

[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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM