草庐IT

hamcrest-junit

全部标签

java - JUnit 5 不执行用 BeforeEach 注释的方法

JUnit5不会在用@BeforeEach注释的测试类中调用我的方法注释,我在其中初始化测试中需要的测试对象的一些字段。当尝试在测试方法(用@Test注释的方法)中访问这些字段时,我显然得到了NullpointerException。所以我在方法中添加了一些输出消息。importstaticorg.junit.jupiter.api.Assertions.assertEquals;importorg.junit.jupiter.api.BeforeEach;importorg.junit.jupiter.api.Test;publicclassTestClass{privateStri

java - 如何使用 Maven Failsafe 插件运行 JUnit 5 集成测试?

当我运行命令mvncleanfailsafe:integration-test时,MavenFailsafe插件找不到我的JUnit5集成测试,尽管它可以找到文件。我有junit-jupiter-api和junit-jupiter-engine作为测试依赖项:5.0.1org.junit.jupiterjunit-jupiter-api${junit.jupiter.version}testorg.junit.jupiterjunit-jupiter-engine${junit.jupiter.version}test我的集成测试命名正确(遵循**/*IT.java、**/IT*.ja

java - 实例变量的 setter 和 getter 的 Junit 测试

为对象内的实例变量的setter和getter创建测试用例时。什么是最好的方法?在这里,我在测试中使用了get和set方法。这会是糟糕的测试策略吗?/***TestofsetFlightNumbermethod,ofclassFlight.*/@TestpublicvoidtestSetFlightNumber(){System.out.println("setFlightNumber");intflightNumber=1000;Flightinstance=newFlight();instance.setFlightNumber(flightNumber);//TODOreview

java - 无法在 android studio 1.4 中解析 : Error:(23, 17) junit :junit:4. 12

这个问题在这里已经有了答案:Error:(23,17)Failedtoresolve:junit:junit:4.12(47个回答)关闭6年前。我正在使用AndroidStudio1.4,每次创建新项目时都会发生同样的错误Error:(23,17)"Failedtoresolve:junit:junit:4.12".我看过之前关于同样问题的帖子Error:(23,17)Failedtoresolve:junit:junit:4.12并完成了所有给定的答案,但尽管为缺少存储库添加了URL('http://repo1.maven.org/maven2'和'http://jcenter.bi

java - 一名测试观察员报告 JUnit Suite 中各个测试的结果

所以我有一个套件,像这样:@RunWith(Suite.class)@Suite.SuiteClasses({TestClass1.class,TestClass2.class,TestClass3.class})publicclassTestSuite{staticListextentTestList=newArrayList();@ClassRulepublicstaticExtentWatcherextentWatcher=newExtentWatcher(){@Overrideprotectedvoidstarting(Descriptiondescription){exten

java - 使用单独的类加载器运行每个 JUnit 测试(不,真的)

我如何让JUnit为其执行的每个测试类使用单独的ClassLoader?我正在为设置大量静态变量的库编写JUnitTestRunner。我基本上想在每个测试类之间重置所有这些,而不需要知道它们是什么。我不想与框架的深入知识相结合,因为每当库内部发生变化时,我的TestRunner就会崩溃。在我继续之前,我想绝对清楚地表明我真的想要这样做。我无法控制图书馆。我没有不使用静态变量的选择。我不想使用反射或Powermock,因为我不想知道库中发生了什么。我不想使用Maven配置来fork测试过程,因为这样测试实用程序就会绑定(bind)到构建工具。我在StackOverflow上找到的所有其

JUnit单元测试常用方法知识整理

目录一、为什么要进行测试二、什么是单元测试三、IDEA下创建JUnit1.JUnit5是什么?2.自动创建JUnit四、JUnit用法1.基础测试方法2.注解3.使用断言4.假设5.显示名称6.禁用7.@Before和@After8.嵌套测试9.参数化测试10.重复测试11.设置时间限制12.测试异常五、总结一、为什么要进行测试        我们在写程序的时候,往往最难的部分不是代码的编写,而是之后的debug阶段,我们都经历过花大量时间去检查代码,最后发现只是简单的错误导致了bug。而在实际应用中,对于我们所开发的程序来讲,仅仅让它跑起来是远远不够的,程序在运行过程中可能会遇到各种问题,用

java - 如何从 gradle 运行 Junit TestSuites?

我正尝试在我的项目中从Ant构建迁移到Gradle。有一堆测试用例(junit.framework.TestCase的子类)和很少的测试套件(junit.framework.TestSuite的子类)。Gradle会自动选取要运行的所有测试用例(junit.framework.TestCase的子类),但不会选取套件(junit.framework.TestSuite的子类)。我可能可以通过调用ant.junit来运行它来解决这个问题。但是,我觉得应该有一种native的简单方法来强制gradle选择它们并运行。我在文档中找不到任何内容。我错过了什么吗? 最

java - 在@Before 方法中停止 JUnit 测试而不失败

这些是我的测试用例classMother{@BeforepublicvoidsetUp(){if(!this.getClass().isAnnotatedWith("Version20")){//pseudocode/**stopthistestwithoutfailing!*/}//furthersetup}}@Version20classChildextendsMother{@Testpublicvoidtest(){//runonlywhenVersion==20}}是否可以在不失败或assertTrue(false)的情况下在Mother的@Before方法中停止Child中的

java - 是否真的有必要在 JUnit 拆卸方法中使对象无效?

这个问题在这里已经有了答案:JUnit-shouldIassignnulltoresourcesintearDownthatwereinstantiatedinsetUp?(3个答案)关闭7年前。我对answer很感兴趣到一个类似的问题。我认为这是不正确的。所以我创建了一些测试代码。我的问题是,这段代码是否证明/反驳/不确定在拆卸方法中取消成员变量有用的假设?我用JUnit4.8.1测试了它。JUnit为4个测试中的每一个都创建了一个新的测试类实例。每个实例都包含一个Objectobj。此obj也作为静态WeakHashMap的键插入。如果并且当JUnit释放它对测试实例的引用时,关联