blob: 3f8d415d452fc870c5a1a8d61c7c8a4ff780db54 [file] [log] [blame]
package test.dependent;
import java.util.List;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Factory;
import org.testng.annotations.Test;
import org.testng.collections.Lists;
/**
* Verify that only instances that fail cause dependency failures. In other words,
* when run, this test should show:
* passed = [f#1 f#3 g#1 g#3], failed = [f#2], skipped = [g#2]
*
* @author Cedric Beust <cedric@beust.com>
*/
public class InstanceSkipSampleTest {
private int m_n;
public static List<String> m_list = Lists.newArrayList();
@Factory(dataProvider = "dp")
public InstanceSkipSampleTest(int n) {
m_n = n;
}
@DataProvider
public static Object[][] dp() {
return new Object[][] {
new Object[] { 1 },
new Object[] { 2 },
new Object[] { 3 },
};
}
@Test
public void f() {
if (m_n == 2) throw new RuntimeException();
log("f");
}
@Test(dependsOnMethods = "f")
public void g() {
log("g");
}
private void log(String s) {
m_list.add(s + "#" + m_n);
}
@Override
public String toString() {
return "" + m_n;
}
}