Junit4参数化

652 阅读1分钟

1、Junit4参数化-单个

github.com/junit-team/… junit4依赖

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
@RunWith(Parameterized.class)
public class TestSearch {

    public static SearchPage searchPage;

    @BeforeClass
    public static void beforeAll() throws MalformedURLException {
        App.start();
        searchPage = App.toSearch();
    }

    @Parameterized.Parameters
    public static List<String> data() {
        List<String> stocks = new ArrayList<>();
        stocks.add("xiaomi");
        stocks.add("alibaba");
        stocks.add("jd");
        return stocks;
    }

    @Parameterized.Parameter
    public String stock;

    @Test
    public void search(){
        assertThat(searchPage.search(stock).gerCurrentPrice(), greaterThanOrEqualTo(100f));
    }

2、Junit参数化-多个

@RunWith(Parameterized.class)
public class TestSearch {

    public static SearchPage searchPage;

    @BeforeClass
    public static void beforeAll() throws MalformedURLException {
        App.start();

    }

    @Parameterized.Parameters
    public static Collection<Object[]> data() {
        return Arrays.asList(new Object[][] {
                {"jd", 45f},
                { "alibaba", 100f},
                {"pdd", 40f}
        });

    }

    @Parameterized.Parameter
    public String stock;
    @Parameterized.Parameter(1)
    public float price;

    @Before
    public void before(){
        searchPage = App.toSearch();
    }

    @Test
    public void search(){
        assertThat(searchPage.search(stock).gerCurrentPrice(), greaterThanOrEqualTo(price));
    }

    @After
    public void after() {
        App.driver.navigate().back();
        searchPage.cancel();
    }

    @AfterClass
    public void afterClass(){
        App.driver.quit();
    }
}