草庐IT

junit-rule

全部标签

java - 在 Junit Test 中覆盖默认 Spring-Boot application.properties 设置

我有一个Spring-Boot应用程序,其中默认属性设置在类路径(src/main/resources/application.properties)中的application.properties文件中。我想用test.properties文件(src/test/resources/test.properties)中声明的属性覆盖我的JUnit测试中的一些默认设置我通常有一个专门的配置类用于我的Junit测试,例如packagefoo.bar.test;importorg.springframework.boot.autoconfigure.EnableAutoConfigurati

java - 带有 Junit 4.7 "!!! JUnit version 3.8 or later expected:"的 IntelliJ IDEA

当我尝试在IntelliJIDEA中运行以下测试时我收到消息:"!!!JUnitversion3.8orlaterexpected:"需要注意的是这是一个Android我正在IntelliJIDEA9中从事的项目。publicclassGameScoreUtilTest{@TestpublicvoidtestCalculateResults()throwsException{finalGamegame=newGame();finalPlayerplayer1=newPlayer();{finalPlayedHoleplayedHole=newPlayedHole();playedHol

java - 获取 JUnit 4 中当前正在执行的测试的名称

在JUnit3中,我可以像这样获取当前正在运行的测试的名称:publicclassMyTestextendsTestCase{publicvoidtestSomething(){System.out.println("Currenttestis"+getName());...}}将打印“当前测试是testSomething”。在JUnit4中是否有任何开箱即用或简单的方法可以做到这一点?背景:显然,我不想只打印测试的名称。我想加载存储在与测试同名的资源中的测试特定数据。你知道,conventionoverconfiguration等等。 最佳答案

java - 2 个 JUnit 断言类之间的差异

JUnit框架包含2个Assert类(显然在不同的包中),每个类的方法看起来都非常相似。谁能解释这是为什么?我指的类是:junit.framework.Assert和org.junit.Assert. 最佳答案 (JUnit3的)旧方法是通过扩展junit.framework.TestCase来标记测试类。继承的junit.framework.Assert本身和您的测试类获得了以这种方式调用断言方法的能力。从JUnit第4版开始,该框架使用Annotations来标记测试。所以你不再需要扩展TestCase。但这意味着,断言方法不可

java - System.out.println() 的 JUnit 测试

我需要为一个设计不佳的旧应用程序编写JUnit测试,并且将大量错误消息写入标准输出。当getResponse(Stringrequest)方法正常运行时,它会返回一个XML响应:@BeforeClasspublicstaticvoidsetUpClass()throwsException{Propertiesqueries=loadPropertiesFile("requests.properties");Propertiesresponses=loadPropertiesFile("responses.properties");instance=newResponseGenerato

java - 有条件地忽略 JUnit 4 中的测试

好的,所以@Ignore注释非常适合标记不应运行的测试用例。但是,有时我想忽略基于运行时信息的测试。例如,如果我有一个并发测试需要在具有一定数量内核的机器上运行。如果这个测试是在单处理器机器上运行的,我认为只通过测试是不正确的(因为它还没有运行),而且测试失败并破坏构建肯定是不对的.所以我希望能够在运行时忽略测试,因为这似乎是正确的结果(因为测试框架将允许构建通过但记录测试未运行)。我相当确定注释不会给我这种灵active,并且怀疑我需要为相关类手动创建测试套件。但是,该文档没有提及任何关于此的内容并查看API也不清楚这将如何以编程方式完成(即我如何以编程方式创建Test的实例或类似于

java - Maven 找不到要运行的 JUnit 测试

我有一个maven程序,它编译得很好。当我运行mvntest时,它不会运行任何测试(在TESTs标题下显示没有要运行的测试。)。我已经用一个super简单的设置重新创建了这个问题,我将在下面包括使用-X运行时的输出。单元测试在Eclipse中运行良好(无论是使用其默认的junit包,还是当我包含maven下载的junit.jar时)。mvntest-compile也正确地在test-classes下创建了类。我在带有Maven3.0.2和java1.6.0_24的OSX10.6.7上运行它。目录结构如下:/my_program/pom.xml/my_program/src/main/j

ruby - 无法解决错误 : #<Double (anonymous)> received unexpected message :[]= with (:rule_code, 1)

我正在努力解决我在测试以下内容时遇到的上述错误:defadd_rule_codenew_rulecount=list[:multiple_item_rules].count+list[:total_price_rules].count+1new_rule[:rule_code]=countend通过以下测试:it"addsauniquerulecode"doitem_rule=double({rule_type:"item",item_code:001,number_of_items:2,new_item_price:8.50})rules.add_rule_codeitem_rule

JUNIT5 + Mockito

目录一、前言二、Maven依赖2.1JUNIT52.2Mockito32.3surefire三、UT示例3.1业务代码3.2单元测试一、前言JUNIT和Mockito这两个单元测试框架在Java工程中被广泛应用。但到2021年,仍有很多开发者在使用JUNIT4+Mockito2+PowerMock,但不得不说,这套配置已经开始过时。如今,JUNIT5已经迭代到5.8.x,Mockito也进入了4.0.0阶段,我们可以开始尝试基于JUNIT5+Mockito3来进行单测的开发。由于PowerMock在JUNIT5上无法工作,所以不再使用PowerMock。Mockito3.4后,已经支持mock

JUNIT5 + Mockito

目录一、前言二、Maven依赖2.1JUNIT52.2Mockito32.3surefire三、UT示例3.1业务代码3.2单元测试一、前言JUNIT和Mockito这两个单元测试框架在Java工程中被广泛应用。但到2021年,仍有很多开发者在使用JUNIT4+Mockito2+PowerMock,但不得不说,这套配置已经开始过时。如今,JUNIT5已经迭代到5.8.x,Mockito也进入了4.0.0阶段,我们可以开始尝试基于JUNIT5+Mockito3来进行单测的开发。由于PowerMock在JUNIT5上无法工作,所以不再使用PowerMock。Mockito3.4后,已经支持mock