Tag: unit testing

如何使用Mockito显示模拟上的所有调用

我有一个失败的unit testing,我不确定为什么。 我希望能够看到在被测系统中发生的模拟上的所有调用。 这不是我想要的所有测试的行为,只是为了我需要快速调整以便能够弄清楚什么是错误的测试。 但是,它看起来有点像黑客。 是否可以在Mockito中本地执行此操作,而无需使用Thread.currentThread().getStackTrace() ? 这不是首选,因为堆栈跟踪包括Mockito内部使用的所有其他调用。

在测试阶段使用备用Maven配置文件

我正在尝试从Appfuse Archetype开始构建一个应用程序,但是我遇到了一些奇怪的问题。 曾经,我想使用hsqldb进行自动unit testing和集成测试,并使用mysql db进行手动测试,这样我就可以在需要时轻松操作数据,因此在此期间自动切换配置文件会很不错。测试阶段。 有没有办法做到这一点?

junit测试用例生成器

有没有一个很好的工具可以根据一些原始模板自动生成jUnit测试用例? 这样,测试用例可以由没有大量Java或jUnit背景的工程师编写。 作为背景信息,这是用于黑盒测试。 如果有一些其他替代方法来运行回归测试而不是使用jUnit,我也很感激听到它。 谢谢

unit testingmaven插件

我正在寻找有关如何为Maven插件编写unit testing的信息。 尽管Maven网站上有关于此主题的页面 ,但只有一个示例unit testing,它没有任何用处。 我也找到了这个wiki页面 ,但它已经超过4年没有更新了,所以我不愿意投入任何信任。 我查了一本书“Maven的权威指南”,但它甚至没有提到这个主题。 我想用Groovy或Java编写unit testing,并希望了解有关如何执行此操作的任何信息。 我正在使用Maven 2.1.0版。

发出http请求的测试方法

我的应用程序中有一些方法可以发出http请求。 有没有一种很好的方法来模拟网络故障和unit testing的错误响应?

存根与mockito之间的区别

我是mockito的新手。 需要知道存根和何时的区别 1. stub(cpproxy.getBinList()).toReturn(gettestbins()); 2. when(cpproxy.getBinList()).thenReturn(gettestbins()); 这两者之间有什么区别?

Apache Spark Streaming的失败集成测试

我一直试图找出我为Apache Spark项目编写的一些单元/集成测试的问题。 当使用Spark 1.1.1时,我的测试通过了。 当我尝试升级到1.4.0(也尝试过1.4.1)时,测试开始失败。 我已经设法将重现问题所需的代码减少到下面的小集成测试。 有趣的是,如果我在测试中注释掉@RunWith注释,那么测试就会正确传递。 显然我不需要@RunWith注释来进行这种减少测试,但真正的测试相当广泛地使用了模拟,所以我宁愿不必使用PowerMock。 package com.example; import org.apache.spark.SparkConf; import org.apache.spark.streaming.Duration; import org.apache.spark.streaming.api.java.JavaStreamingContext; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) public class SampleTest { @Before public void setup() throws Exception { SparkConf conf = new SparkConf(false).setMaster(“local[2]”).setAppName(“My app”); JavaStreamingContext jsc = new JavaStreamingContext(conf, new Duration(1000)); } @Test public void exampleTest() { […]

如何使用Spring在unit testing中模拟远程REST API?

假设我在我的应用程序中创建了一个使用远程Web服务的简单客户端,该服务在某个URI /foo/bar/{baz}公开RESTful API。 现在我想对我的客户端进行unit testing,该客户端调用此Web服务。 理想情况下,在我的测试中,我想根据/foo/bar/123或/foo/bar/42等特定请求模拟我从Web服务获得的响应。 我的客户端假设API实际上在某处运行,所以我需要一个本地“Web服务”来开始在http://localhost:9090/foo/bar运行我的测试。 我希望我的unit testing是自包含的,类似于使用Spring MVC Test框架测试Spring控制器。 一些简单客户端的伪代码,从远程API获取数字: // Initialization logic involving setting up mocking of remote API at // http://localhost:9090/foo/bar @Autowired NumberClient numberClient // calls the API at http://localhost:9090/foo/bar @Test public void getNumber42() { onRequest(mockAPI.get(“/foo/bar/42”)).thenRespond(“{ \”number\” : 42 }”); assertEquals(42, numberClient.getNumber(42)); } // .. 使用Spring有哪些替代方案?

JUnit测试通过,但PIT称该套件不是绿色的

在尝试运行PIT突变测试时,我收到以下错误: mutationCoverage失败:计算线覆盖时,所有测试都没有通过而没有突变。 变异测试需要绿色套件。 当我进行正常的测试构建时,测试运行得很好但是在运行突变测试阶段时,他们认为会失败,但没有提供有关原因的详细信息。 我已经解决了PIT测试常见问题解答中列出的原因,但我仍然不知道可能出现的问题。 我试过了: 将-Dthreads = 1选项添加到任何multithreading问题的规则中 无法找到任何系统属性唯一的失败的几个测试 正常运行时不会忽略测试 我还应该尝试一些其他的事情吗? 或者其他方法来调试可能发生的事情?

在Java中断言exception,如何?

这可能是一个概念上愚蠢的问题,但也可能没有,因为我还是学生,我想我应该没问题。 想象一下,如果给定某些条件,它将抛出一个NumberFormatException。 我想编写一个unit testing来查看exception是否正确。 我怎样才能做到这一点? PS我正在使用JUnit编写unit testing。 谢谢。