当前位置: 首页 > 面试题库 >

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

暨修洁
2023-03-14
问题内容

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

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

流:

  1. 通过url初始化连接
  2. 运行所有测试
  3. 通过另一个URL初始化连接
  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/

这样,您就可以相同的测试几次,但参数不同。



 类似资料:
  • 问题是,在您的应用程序项目中拥有一个除了为您的测试项目生成数据之外没有其他目的的方法是否是一种糟糕的做法。

  • 问题内容: 我正在使用JUnit编写集成测试,以自动化基于控制台的应用程序的测试。该应用程序是家庭作业,但这不是家庭作业。我想使这些测试自动化以提高生产率- 我不想回头再重新测试应用程序中已经测试过的部分。(使用单元测试的标准原因) 无论如何,我找不到或找不到有关捕获输出的文章,因此我不能这样做,也不能提供自动输入。我不在乎输出/输入是否进入控制台/输出窗格。我只需要执行测试并验证输出是否与输入相

  • 我试图讨论下面SonarQube通过代码覆盖的if条件。SonarQube说2个条件中的1个都被覆盖了。如果有人能帮我把这两件事都盖上,我将不胜感激。 我已经声明了变量,并拥有了setter和getter。 下面是我要介绍的代码: 下面是测试2个条件中的1个条件的代码:

  • 问题内容: 我想知道什么是对Servlet进行单元测试的最佳方法。 只要测试内部方法不引用servlet上下文,就不会有问题,但是测试doGet / doPost方法以及引用上下文或使用会话参数的内部方法又如何呢? 有没有一种方法可以简单地使用经典工具(例如JUnit或最好是TestNG)来做到这一点?我是否需要嵌入tomcat服务器或类似的东西? 问题答案: 尝试使用HttpUnit,尽管您最终

  • 需要对项目的控制器部分进行单元测试,但却得到了错误。我相信ModelAndVIew部分导致了这个问题,尽管我曾经嘲弄过它并返回ModelAndVIew,因为它是方法的返回类型。然而,它并不起作用。pom.xml没有任何问题,因此没有添加它。ProjectController: java.lang.IllegalStateException:找不到@SpringBootConfiguration,您

  • 问题内容: 我希望在编写用于测试某些数据库条目的单元测试中获得一些建议。 如果找不到记录,则我正在测试的功能会将数据库作为种子。 我似乎不太了解如何进行len测试。我正在使用测试数据库,因此我可以在任何时候都对其进行核对,因此,如果我只需要在函数上强制使用一个空的数据库,就没有问题了。 该函数本身可以正常工作,我只想确保已覆盖该函数。 任何建议都很好。 谢谢! 问题答案: 确实取决于您,有很多方法