Вы можете сделать это, определив доступность пользователя как логическое значение.Рассмотрим эти четыре класса:
Класс для определения testUser как объекта:
package theo;
public class testUser {
public String id;
public String pwd;
public boolean availability;
public String getId() {
return id;
}
public String getPwd() {
return pwd;
}
public boolean getAvailability() {
return availability;
}
public void setAvailability(boolean availability) {
this.availability = availability;
}
public testUser(String id, String pwd, boolean availability) {
this.id = id;
this.pwd = pwd;
this.availability = availability;
}
}
Класс с testUsers:
package theo;
public class testUsers {
testUser Jessica = new testUser("Jessica", "Jessica's password", true);
testUser Julie = new testUser("Julie", "Julie's password", false);
testUser Jane = new testUser("Jane", "Jane's password", true);
public testUser[] allTestUsers = {
Jessica,
Julie,
Jane
};
}
Класс с методом теста:
package theo;
public class testMethod extends testUsers {
public void testWhatever(testUser user) {
System.out.println("Starting test with " + user.getId() + "'s credentials.");
user.setAvailability(false);
System.out.println(user.getId() + "'s availability is: " + user.getAvailability());
String id = user.getId();
String pwd = user.getPwd();
// load login page, perform login and desired tests
// ...
// possibly logout the user
// ...
System.out.println("Login test finished, going to release user.");
// and releasing the user
user.setAvailability(true);
System.out.println(user.getId() + "'s availability is: " + user.getAvailability());
}
}
Класс для выполнения тестов в зависимости от доступности пользователя:
package theo;
import org.junit.Test;
public class testDemo extends testMethod {
@Test
public void performTestDueToUserAvailability() {
for (testUser testUser: allTestUsers) {
if (testUser.getAvailability()) {
testWhatever(testUser);
}
else {
System.out.println("User locked, skipping test.");
}
}
}
}
Вывод:
Starting test with Jessica's credentials.
Jessica's availability is: false
Login test finished, going to release user.
Jessica's availability is: true
User locked, skipping test.
Starting test with Jane's credentials.
Jane's availability is: false
Login test finished, going to release user.
Jane's availability is: true