草庐IT

Junit-Tests

全部标签

java - 我可以让 JUnit 更详细吗?

我想让它在断言语句成功时大喊大叫,或者至少让它显示遇到的成功断言语句的数量。我正在使用JUnit4。有什么建议吗? 最佳答案 如果您想查看每个成功断言的一些输出,另一种不需要外部依赖项或源代码的简单方法是定义您自己的Assert类,它将所有方法委托(delegate)给标准JUnitAssert类,以及日志记录成功的断言(失败的断言将由JUnit类照常报告)。然后,您从“org.junit.Assert”=>“com.myco.test.Assert”对您的测试类运行全局搜索和替换,这应该会修复所有常规和静态导入语句。然后,您还可以

java - JUnit4 使用测试套件运行特定包中的所有测试

这在JUnit4中可行吗?在JUnit3中,我会执行以下操作:publicclassMyTestSuite{publicstaticTestsuite()throwsException{doBeforeActions();try{TestSuitetestSuite=newTestSuite();for(Classclazz:getAllClassesInPackage("com.mypackage")){testSuite.addTestSuite(clazz);}returntestSuite;}finally{doAfterActions}}...}

java - 如果没有至少一个 TestEngine,则无法创建 Launcher;考虑在 Junit 5 的类路径中添加一个引擎实现 JAR

当我尝试在junit5中运行测试用例时,我得到了以下执行:Failedtoexecutegoalorg.apache.maven.plugins:maven-surefire-plugin:2.19:test(default-test)onprojectCRUD-App:Executiondefault-testofgoalorg.apache.maven.plugins:maven-surefire-plugin:2.19:testfailed:Therewasanerrorintheforkedprocessorg.junit.platform.commons.util.Preco

java - 使用 VisualVM 在 Eclipse Indigo 中分析 JUnit

如何配置JUnit测试,优先使用Eclipse集成支持?我正在尝试使用VisualVM来完成,但显然无法完成。我使用的是Windows7x64、EclipseIndigo、jdk1.6、jre-j9和JUnit3(我可以使用v.4) 最佳答案 您可以使用JVisualVM(%JAVA_HOME%/bin/jvisualvm.exe),但要与JUnit一起使用,您需要稍微更改运行配置。运行一次JUnit测试,以创建运行配置编辑运行配置(运行->运行配置...)在Test选项卡中选中“调试时保持JUnit在测试后运行”复选框重新运行测试

java - JUnit中是否有任何条件注释来标记要跳过的几个测试用例?

据我所知,要跳过一个测试用例,最简单的做法是删除@Test注释,但是要在大量测试用例上执行此操作很麻烦。我想知道JUnit中是否有任何注释可以有条件地关闭一些测试用例。 最佳答案 很难知道您正在寻找的是否是@Ignore注释,或者您是否真的想有条件地关闭某些JUnit测试。使用Assume有条件地关闭测试用例。您可以阅读releasenotes中的假设。对于junit4.5堆栈溢出还有一个相当不错的线程:ConditionallyignoringtestsinJUnit4 关于java-

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