我主要用 Java 编写 Selenium WebDriver 测试,但最近我不得不使用 Nose 进行一些用 Python 编写的 Selenium 测试。我注意到一个很棒的 Nose 工具,它可以在迭代一组值的同时生成单独的测试用例(例如,用于测试下拉列表中的每个项目并获取每个项目的结果条目)。
http://swordstyle.com/func_test_tutorial/part_one/extra_generative_tests.html
我可以在 junit 中使用类似的东西吗?
最佳答案
当然,看看 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);
}
}
关于java - junit 中是否有等效的 Nose 生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27549843/