Ответ 1
Ранее я задавал аналогичный вопрос - результат заключался в том, что вы можете использовать методы класса Assume
для отключения теста на основе проверки времени выполнения ( тогда как @Ignore
является статическим условием).
Тем не менее, если вы всегда отключили их на основе определенной аннотации, казалось бы, вам на самом деле не нужно делать это во время выполнения. Простое аннотирование классов с помощью @Ignore
, а также @Version20
выполнило бы работу и было бы, возможно, более ясным.
Хотя я подозреваю, что вы можете игнорировать только в том случае, если тест работает в режиме "1.0" - в этом случае это интроспекция времени выполнения, и вы можете сделать это с помощью чего-то вроде:
@Before
public void setUp() {
if (!this.getClass().isAnnotatedWith("Version20")) {
final String version = System.getProperty("my.app.test.version");
org.junit.Assume.assumeTrue(version.equals("2.0"));
}
}