在junit有鼻子发生器吗?

时间:2014-12-18 15:17:55

标签: java selenium junit nose

我主要使用Java编写Selenium WebDriver测试,但最近我不得不使用nose编写一些用Python编写的Selenium测试。我注意到了一个很好的鼻子工具,它在迭代一组值时生成单独的测试用例(例如,用于测试下拉列表中的每个项目并为每个项目获取结果条目)。

http://swordstyle.com/func_test_tutorial/part_one/extra_generative_tests.html

是否有类似我在junit中可以使用的东西?

1 个答案:

答案 0 :(得分:0)

当然,请查看JUNIT Data Provider library

来自文档:

import static org.junit.Assert.*;

import org.junit.Test;
import org.junit.runner.RunWith;

import com.tngtech.java.junit.dataprovider.DataProvider;
import com.tngtech.java.junit.dataprovider.DataProviderRunner;
import com.tngtech.java.junit.dataprovider.UseDataProvider;

@RunWith(DataProviderRunner.class)
public class DataProviderTest {

    @DataProvider
    public static Object[][] dataProviderAdd() {
        // @formatter:off
        return new Object[][] {
                { 0, 0, 0 },
                { 1, 1, 2 },
                /* ... */
        };
        // @formatter:on
    }

    @Test
    @UseDataProvider("dataProviderAdd")
    public void testAdd(int a, int b, int expected) {
        // Given:

        // When:
        int result = a + b;

        // Then:
        assertEquals(expected, result);
    }
}