对于不同的输入数据Java单元测试(Java unit test for different inp

2019-06-23 10:24发布

我需要测试一些API。 比如我在类来测试我的功能的多个@Test方法,初始化之前,我连接到我的服务的一些网址,并使用它。

如果我有我在多个URL(不同的服务器环境)服务,该如何测试这个功能,针对不同的服务网址吗?

流:

  1. 初始化conncetion通过网址
  2. 运行所有测试
  3. 通过另一个URL初始化conncetion
  4. 运行所有测试(下同)
  5. ...

当只有一个主机我这样做:

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

Answer 1:

发生在我身上的某个时候,他们和我发现这个所谓的参数化测试真棒想法,例如: http://www.mkyong.com/unittest/junit-4-tutorial-6-parameterized-test/这样你可以将所有相同的测试夫妇的时间,不同的观点。



Answer 2:

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

或者,你可以让你的测试用例抽象与每个子类设置的URL继承它。



文章来源: Java unit test for different input data