Java单元测试用于不同的输入数据

标签 java junit junit4

我需要测试一些api。例如,我在类中有多个@Test方法来测试我的功能,在初始化之前,我先连接到服务的某些URL并使用它。

如果我的服务位于多个URL(不同的服务器环境),如何为不同的服务URL测试此功能?

流程:

  • 通过url初始化连接
  • 运行所有测试
  • 由另一个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(); 
        }
    }
    

    最佳答案

    某个时候发生在我身上,他们发现了这个很棒的主意,称为参数化测试,例如:
    http://www.mkyong.com/unittest/junit-4-tutorial-6-parameterized-test/
    这样,您可以同时使用不同的参数进行所有相同的测试。

    关于Java单元测试用于不同的输入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10028188/

    相关文章:

    android - 随机化仪器测试的顺序

    java - start.dfs.sh期间的异常

    java - 如何在字符串中从 XML 加载 org.w3c.dom.Document?

    java - 将两个时间值与系统当前时间进行比较

    java - 共享变量的测试方法

    java - 比较 java.awt.Color 对象时,JUnit Test 似乎无法正常工作

    java - 将@WebMvcTest 与spring-boot 一起使用时如何排除@Configuration 类?

    java - MVC 是开发带有 GUI 的桌面应用程序的唯一可接受的方法吗?

    java - 为什么要对相关测试进行分组

    android - Robolectric 3 NoClassDefFoundError 上下文