草庐IT

Junit-Tests

全部标签

java - junit 测试用例生成器

是否有一个基于原始模板自动生成jUnit测试用例的好工具?这样测试用例就可以由没有很多Java或jUnit背景的工程师编写。作为背景信息,这是用于黑盒测试的。如果除了使用jUnit之外还有其他运行回归测试的替代方法,我也很乐意听到它。谢谢 最佳答案 Parasoft的JTest是一种商业工具,但它非常适合:为现有代码库生成单元测试创建回归测试对于免费解决方案,您可以尝试CodeProAnalytix的JUnit生成功能Eclipse插件。 关于java-junit测试用例生成器,我们在S

java - 在 JUnit @BeforeClass 中加载属性文件

在我的JUnit测试执行期间,我试图从我的类路径加载sample.properties,但它在类路径中找不到该文件。如果我编写一个JavaMain类,我就可以很好地加载文件。我正在使用下面的ant任务来执行我的JUnit。publicclassTesting{@BeforeClasspublicstaticvoidsetUpBeforeClass()throwsException{Propertiesprops=newProperties();InputStreamfileIn=props_.getClass().getResourceAsStream("/sample.propert

java - 具有随机性的 JUnit 测试方法

我目前正在为自己开发一个小项目,我正在利用它来熟悉单元测试和维护适当的文档。我有一个代表一副纸牌的Deck类(它非常简单,老实说,我可以确定它无需单元测试就可以工作,但就像我说的那样习惯使用单元测试),它有一个shuffle()方法,可以改变牌组中牌的顺序。实现非常简单,肯定会起作用:publicvoidshuffle(){Collections.shuffle(this.cards);}但是,我该如何为这个方法实现单元测试。我的第一个想法是在调用shuffle()后检查牌组的顶牌是否不同,但当然有可能是相同的。我的第二个想法是检查卡片的整个顺序是否已经改变,但它们可能仍然处于相同的顺

java - 在 JUnit 测试的 @Before 方法中使用断言语句?

我应该在JUnit测试的@Before方法中使用断言语句(assertEquals,...)吗?如果断言失败,所有测试都将失败,所以它的行为完全符合我的要求,但我不认为这是一个好主意,因为@Before注释方法不是测试. 最佳答案 听起来像Assume机制会更合适。Asetofmethodsusefulforstatingassumptionsabouttheconditionsinwhichatestismeaningful.Afailedassumptiondoesnotmeanthecodeisbroken,butthatth

java - 独立 Apache Qpid (amqp) Junit 测试示例

有没有人有在独立junit测试中使用ApacheQpid的示例。理想情况下,我希望能够动态创建一个队列,我可以在测试中放置/获取消息。所以我没有在我的测试中测试QPid,我将为此使用集成测试,但是对于测试处理消息的方法非常有用,而必须模拟服务负载。 最佳答案 这是我用于QPID0.30的设置方法(我在Spock测试中使用它,但应该可以毫无问题地移植到Junit的Java)。这支持SSL连接、HTTP管理,并且仅使用内存启动。启动时间为亚秒级。与出于相同目的使用ActiveMQ相比,QPID的配置很笨拙,但QPID符合AMQP标准,并

java - @BeforeClass注解: Junit vs TestNG

为什么JUnit中的@BeforeClass方法是static而在TestNG中它的non-static?TestNG是对JUnit的改进,那么他们为什么选择这种实现方式呢?因为@BeforeClass只运行一次,所以让它成为static比让它成为非static更有意义。同样在TestNG中,在哪个实例上调用了@BeforeClass方法?有人可以举个例子来更好地理解吗? 最佳答案 JUnit和TestNG的主要区别在于测试类实例化。JUnit总是为每个测试方法运行创建一个新的测试类实例。TestNG只创建一个测试类实例,然后运行该

java - 排除特定测试在 jUnit 中并行运行

我最近偶然发现了一种通过jUnit并行执行测试的简单方法,方法是在java项目的pom.xml文件中指定以下内容:org.apache.maven.pluginsmaven-surefire-pluginclasses我发现有2个测试类(我们称它们为“badtestclass1”和“badtestclass2”)由于其中测试的编写方式而不断受到这种并行执行的惩罚。理想情况下,我会重构这些测试类以使其表现更好,但在此期间,我想知道是否有一种巧妙的方法可以“排除”这些特定类的并行执行。基本上,有没有办法并行执行其他所有内容,然后依次执行这两个(或其他顺序,无关紧要)。像下面这样的东西会起作

java - JUnit测试类顺序

我有一个带有maven的java应用程序。用于测试的Junit,带有故障安全和万无一失的插件。我有超过2000个集成测试。为了加快测试运行速度,我使用failsafejvmfork并行运行我的测试。我有一些繁重的测试类,它们通常在我的测试执行结束时运行,这会减慢我的CI验证过程。filesaferunorder:balanced对我来说是个不错的选择,但我不能使用它,因为jvmfork.重命名测试类或移动到另一个包并按字母顺序运行它不是一个选项。有什么建议可以让我在验证过程开始时运行我的慢速测试类吗? 最佳答案 在JUnit5(从版

java - Eclipse JUnit 5 支持

目前,JUnit5刚刚推出“稳定”版本。根据网站,IntelliJ支持JUnit5。我的问题是eclipse是否也支持JUnit5,如果不支持,何时支持。有了支持,我的意思是如果我可以在不需要@RunWith(PlatformRunner.class)注释的情况下运行JUnit5测试。编辑2017年10月:Eclipse现在officiallysupportsJUnit5从EclipseOxygen1.a(4.7.1a)开始 最佳答案 安装JUnit5Support(BETA)forOxygen4.7插件后,您可以在Eclipse4

java - 构建 Eclipse 项目时自动运行 JUnit

我想在保存Eclipse项目时自动运行单元测试。每当我保存文件时,该项目都会自动构建,所以我认为这应该可以通过某种方式实现。我该怎么做?获取ant脚本并更改项目构建以使用具有目标build和compile的ant脚本真的是唯一的选择吗?更新我现在将尝试两种不同的方法:为我的项目运行一个额外的构建器来执行ant目标测试(反正我有一个ant脚本)ct-eclipse,由Thorbjørn推荐 最佳答案 当然,运行所有测试是不明智的,因为我们可以有20,000个测试,而我们的更改可能只会影响其中的50个,其中包括对我们已更改的类的测试和对