是否可以使用 if 语句在 NUnit 测试用例中定义共享变量?
Can if statement be used to define shared variables in NUnit TestCases?
我有一个测试用例需要一个单独的 contestId,但仍然使用与之前测试相同的参数。
由于比赛可能会过期,我查询以获取当前的比赛 ID,而不是对其进行硬编码。
测试是为了确保用户可以在同一时间段内参加多个比赛。第一场比赛开始后,我希望 if 语句为 contestId 分配另一个值。
[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 语句中定义 contestId。有没有办法区分 TestCase 值,以便我可以定义场景为 contestId 分配不同的值?
谢谢。
[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
}
我有一个测试用例需要一个单独的 contestId,但仍然使用与之前测试相同的参数。
由于比赛可能会过期,我查询以获取当前的比赛 ID,而不是对其进行硬编码。
测试是为了确保用户可以在同一时间段内参加多个比赛。第一场比赛开始后,我希望 if 语句为 contestId 分配另一个值。
[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 语句中定义 contestId。有没有办法区分 TestCase 值,以便我可以定义场景为 contestId 分配不同的值?
谢谢。
[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
}