Пора подробнее разобраться с параметром alwaysRun.

alwaysRun — это булевский параметр, по дефолту стоит false

Пример:

package com.mysite.smokeTest;

import org.testng.annotations.Test;
import static org.testng.Assert.*;

public class SmokeTest {
@Test
public void s3() {
System.out.println("s3() - SmokeTest");
assertEquals(5, 2+1);

}

@Test(dependsOnMethods="s3")
public void s1() throws Exception {
System.out.println("s1() - SmokeTest");
}

}

В данном случае метод s3 будет Failed, т.к. 5 не равно 2+1. Метод s1 не будет выполняться и у него (т.е. метода s1) будет статус Skipped.

Добавим параметр alwaysRun = true к методу s3.

package com.mysite.smokeTest;

import org.testng.annotations.Test;
import static org.testng.Assert.*;

public class SmokeTest {
@Test
public void s3() {
System.out.println("s3() - SmokeTest");
assertEquals(5, 2+1);

}

@Test(dependsOnMethods="s3", alwaysRun = true)
public void s1() throws Exception {
System.out.println("s1() - SmokeTest");
}
}

В данном случае метод s3 будет Failed, т.к. 5 не равно 2+1. Метод s1 БУДЕТ выполнен и у него (т.е. метода s1) будет статус Passed.

Реклама