我需要测试一些api。例如,我在类中有多个@Test方法来测试我的功能,在init之前我连接到我的服务的某个url,然后使用它。
如果我的服务位于多个网址(不同的服务器环境),我该如何针对不同的服务网址测试此功能?
流量:
当我只有一个主人时,我喜欢这个:
public class TestAPI{
@org.junit.Before
public void init() {
service = new Service("www.test.com");
}
@org.junit.Test
public void testA(){
service.CallA();
}
@org.junit.Test
public void testB(){
service.CallB();
}
}
答案 0 :(得分:12)
有时发生在我身上,他们发现了这个叫做参数化测试的好主意,例如: http://www.mkyong.com/unittest/junit-4-tutorial-6-parameterized-test/ 通过这种方式,您可以使用不同的参数进行所有相同的测试。
答案 1 :(得分:9)
有参数化测试:http://www.mkyong.com/unittest/junit-4-tutorial-6-parameterized-test/和http://ourcraft.wordpress.com/2008/08/27/writing-a-parameterized-junit-test/。
或者,你可以使你的测试用例抽象化,并用每个子类设置url来创建它。