针对不同输入数据的Javaunit testing

我需要测试一些api。 例如,我在类中有多个@Test方法来测试我的function,在init之前我连接到我的服务的某个url并使用它。

如果我在多个url(不同的服务器环境)上提供服务,我该如何为不同的服务url测试此function?

流:

  1. 由url初始化conncetion
  2. 运行所有测试
  3. 初始由另一个urlconncetion
  4. 运行所有测试(相同)

什么时候只有一个主人我喜欢这个:

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(); } } 

发生在我的某个时间,我发现这个很棒的想法叫做参数化测试,例如: http : //www.mkyong.com/unittest/junit-4-tutorial-6-parameterized-test/这样你就可以了同样的测试几次与不同的论点。

有参数测试: http ://www.mkyong.com/unittest/junit-4-tutorial-6-parameterized-test/和http://ourcraft.wordpress.com/2008/08/27/writing-a-参数化的junit-test / 。

或者,您可以使用测试用例抽象并将其子类化为每个子类设置URL。