草庐IT

java - 如何在 Eclipse 中调试类似于常规 Java 程序的 JUnit 测试

在Eclipse中,如果我在没有断点的Debug模式下运行Java程序,并且如果JVM遇到NullPointerException,Eclipse会高亮显示有问题的代码行,并显示局部变量等。执行被暂停。我可以使用“显示”选项卡来评估代码,等等。但是,如果我在Debug模式下运行JUnit测试,并且jvm遇到NullPointerException,则jvm不会暂停,并且我没有机会看到局部变量。是否可以运行JUnit测试,以便JVM在我遇到NullPointerException时自动暂停,而不使用断点?编辑:使用JUnit4和Juno 最佳答案

java - Junit5 与 IntelliJ 和 Gradle

尝试使用IntelliJ2017.2将我的项目迁移到java8+Junit5我已经添加了junit-jupiter-api版本5.0.0-M6和junit-platform-launcher版本1.0.0-M6项目结构是默认的maven约定src/test/java找到几篇关于此的文章,但没有一篇能解决我的问题。它在控制台中运行良好,我认为这与IntelliJ默认的JUnitRunner有关,或者我缺少一些依赖项?当我运行单个测试类时一切正常,但是当我像以前一样选择目录并Runall'TestsinJava时,我遇到了一些错误。WARNING:TestEnginewithID'juni

java - 选择要运行的配置类型时,在 IntelliJ IDEA 15 中运行 Gradle 测试而不是 Junit 测试

我从14更新到Intellij15.02,并想使用Gradle而不是JUnit运行我的测试,但我不再像您在此处看到的图像那样获得选项。我希望能够选择配置类型。现在运行测试时发生的事情是默认情况下它作为JUnit测试运行。我已经通过选择项目中的gradle文件,用gradle导入了gradle项目。我已经删除了顶部的每个配置条目,因此在使用Spock运行新测试时一切都是干净和空的。我目前的“修复”是为gradle测试手动创建一个新的配置条目。Intellij不够智能,无法创建与Gralde测试相同的Junit测试。我很困惑。 最佳答案

java - 使用 Junit 4.4 或更高版本运行 Eclipse Junit 插件测试——为什么没有检测到测试?

我需要在一组eclipse插件测试中使用JUnit4.4(或更新版本),但我遇到了以下问题:使用springsource的junit4.4或4.5包运行时未检测到测试(junit44和junit45)。可以用eclipse获得的org.junit4包提供了junit4.3(从Ganymead/Eclipse3.4开始)。org.junit4包确实可以识别和运行测试,但它与最新版本的JMock不兼容,我需要使用模拟库。这是一个示例测试:packagetestingplugin;importstaticorg.junit.Assert.*;importorg.junit.Test;publ

java - 可靠的 Java 单元测试自动化? (JUnit/Hamcrest/...)

意图我正在寻找以下内容:可靠的单元测试方法我的方法中缺少什么?我做错了什么?我在做什么没必要?一种尽可能自动完成工作的方法当前环境Eclipse作为IDEJUnit作为测试框架,集成到Eclipse中Hamcrest作为“匹配器”库,以提高断言的可读性GoogleGuava用于前置条件验证目前的做法结构每个类一个测试类进行测试按静态嵌套类分组的方法测试测试方法命名以指定测试行为+预期结果Java指定的预期异常Annotation,不在方法名中方法论注意null值注意空List注意空String注意空数组注意由代码(后置条件)改变的对象状态不变量方法接受记录的参数类型边界检查(例如Int

java - 在同一个构建中执行 JUnit 4 和 JUnit 5 测试

在Maven项目中,我有一些现有的测试依赖于JUnit4。由于多种原因,我无法在JUnit5中迁移这些测试。本质上,一些测试依赖于使用JUnit4运行器的库,代码迁移可能需要一些时间。我同样希望使用现已发布并提供新的有趣功能的JUnit5创建新的测试类。该怎么做? 最佳答案 JUnit5提供awayoutofthebox.JUnit5=JUnitPlatform+JUnitJupiter+JUnitVintage每一个都是一个不同的项目,使用它们可以在同一个项目中编译和执行JUnit4和JUnit5测试。JUnitJupiteris

java - 在测试之间传递 JUnit 数据

我刚刚在创建一些CRUD测试时发现,您无法在一个测试中设置数据并让它在另一个测试中读取(数据在每次测试之间设置回其初始化)。我要做的就是(C)用一个测试创建一个对象,然后(R)用下一个测试读取它。JUnit是否有办法做到这一点,或者它是否在意识形态上进行了编码,使得测试不允许相互依赖? 最佳答案 嗯,对于单元测试,您的目标应该是测试最小的独立代码片段,通常是逐个方法。所以testCreate()是一个测试用例,而testRead()是另一个。但是,没有什么可以阻止您创建一个testCreateAndRead()来一起测试这两个函数。

java - ant junit 任务不报告详细信息

我尝试用JUnit测试编写一个Ant,但得到以下结果:unittest:[junit]Runningcom.mytest.utiltest[junit]Testsrun:1,Failures:0,Errors:1,Timeelapsed:0sec[junit]Testcom.mytest.utiltestFAILED它只是显示错误而没有打印详细信息,我在build.xml中指定以下参数也尝试从ant-v或ant-debug开始,但没有得到任何运气。有人可以帮忙吗?ant1.8.2、sunjdk1.6.0_20、junit4.8.2为了缩小问题范围,我创建了一个单独的项目这是我的buil

java - junit-jupiter-api 和 junit-jupiter-engine 的区别

maven模块junit-jupiter-api和junit-jupiter-engine有什么区别?是否需要在build.gradle中同时包含这两个依赖项?我需要同时提供这两个依赖项吗?testCompile("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")testCompile("org.junit.jupiter:junit-jupiter-api:${junitVersion}")或者只有一个依赖就足够了?testCompile("org.junit.jupiter:junit-jupiter-engine:$

java - Junit - 多个 @Before 与一个 @Before 拆分为方法

在单元测试中,我需要执行一个相当复杂的设置(这可能是代码异味,但这不是这个问题的主题:-))。我感兴趣的是,是让多个@Before方法执行设置更好,还是只有一个方法更好,它调用辅助方法来执行初始化。例如@BeforepublicvoidsetUpClientStub(){}@BeforepublicvoidsetUpObjectUnderTest(){}对比@BeforepublicvoidsetUp(){setUpClientStub();setUpObjectUnderTest();} 最佳答案 正如在其他回复中所说,JUnit