草庐IT

hamcrest-junit

全部标签

java - Eclipse NoClassDefFoundError for LauncherFactory 未找到使用 JUnit 5 的测试

问题每当我运行我的项目JUnit测试(使用JUnit5与Java9和EclipseOxygen1.a)时,我都会遇到eclipse找不到任何测试的问题。说明在运行配置下,eclipse甚至找不到带有@Test注解的方法,而是只显示“(所有方法)”。希望下面的图片可以更好地了解我的设置:控制台输出:java.lang.NoClassDefFoundError:org/junit/platform/launcher/core/LauncherFactoryatorg.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.(JUnit5Tes

java - Eclipse NoClassDefFoundError for LauncherFactory 未找到使用 JUnit 5 的测试

问题每当我运行我的项目JUnit测试(使用JUnit5与Java9和EclipseOxygen1.a)时,我都会遇到eclipse找不到任何测试的问题。说明在运行配置下,eclipse甚至找不到带有@Test注解的方法,而是只显示“(所有方法)”。希望下面的图片可以更好地了解我的设置:控制台输出:java.lang.NoClassDefFoundError:org/junit/platform/launcher/core/LauncherFactoryatorg.eclipse.jdt.internal.junit5.runner.JUnit5TestLoader.(JUnit5Tes

java - setUp/tearDown (@Before/@After) 为什么我们在 JUnit 中需要它们?

相信大家都知道setUp(@Before)会在任何测试方法之前执行,而tearDown(@After)会在测试方法之后执行。我们还知道,Junit每个测试方法会创建一个Test实例。我的问题是我们可以将setUp方法内容移动到类Constructor并删除setUp方法吗?保留setUp方法有什么具体原因吗? 最佳答案 这个(旧)JUnitbestpractices文章是这样写的:Donotusethetest-caseconstructortosetupatestcaseSettingupatestcaseintheconstru

java - setUp/tearDown (@Before/@After) 为什么我们在 JUnit 中需要它们?

相信大家都知道setUp(@Before)会在任何测试方法之前执行,而tearDown(@After)会在测试方法之后执行。我们还知道,Junit每个测试方法会创建一个Test实例。我的问题是我们可以将setUp方法内容移动到类Constructor并删除setUp方法吗?保留setUp方法有什么具体原因吗? 最佳答案 这个(旧)JUnitbestpractices文章是这样写的:Donotusethetest-caseconstructortosetupatestcaseSettingupatestcaseintheconstru

java - 从 JUnit 测试用例中找不到资源文件

总结我的JUnit测试在执行期间没有找到它们需要的文件。我正在使用Maven进行依赖管理和编译。详情测试用例所需的所有文件位于:src/test/resources。例如,src/test/resources/resourceFile.txt。要访问资源,我使用以下代码:URLurl=getClass().getResource("/resourceFile.txt").getFile();Filefile=newFile(url);但随后file.exists()返回false。我得到的错误是:Testsinerror:myJUnitTestCase(tests.MyJUnitTes

java - 从 JUnit 测试用例中找不到资源文件

总结我的JUnit测试在执行期间没有找到它们需要的文件。我正在使用Maven进行依赖管理和编译。详情测试用例所需的所有文件位于:src/test/resources。例如,src/test/resources/resourceFile.txt。要访问资源,我使用以下代码:URLurl=getClass().getResource("/resourceFile.txt").getFile();Filefile=newFile(url);但随后file.exists()返回false。我得到的错误是:Testsinerror:myJUnitTestCase(tests.MyJUnitTes

java - JUnit 测试私有(private)变量?

这个问题在这里已经有了答案:HowdoItestaclassthathasprivatemethods,fieldsorinnerclasses?(58个回答)关闭8年前。我被分配了对一个我从未直接使用JUnit进行过的类进行单元测试的任务,并且严禁更改包中的代码。这通常没有问题,因为我们的大多数单元测试只是为了功能和输入/输出的一致性,这可以通过运行例程并检查它们的返回值来完成。但是,偶尔需要检查类中的私有(private)变量,或者直接编辑私有(private)变量来检查一些内部行为。有没有办法访问这些,无论是通过JUnit还是任何其他方式,以进行单元测试,而无需实际更改原始源包中

java - JUnit 测试私有(private)变量?

这个问题在这里已经有了答案:HowdoItestaclassthathasprivatemethods,fieldsorinnerclasses?(58个回答)关闭8年前。我被分配了对一个我从未直接使用JUnit进行过的类进行单元测试的任务,并且严禁更改包中的代码。这通常没有问题,因为我们的大多数单元测试只是为了功能和输入/输出的一致性,这可以通过运行例程并检查它们的返回值来完成。但是,偶尔需要检查类中的私有(private)变量,或者直接编辑私有(private)变量来检查一些内部行为。有没有办法访问这些,无论是通过JUnit还是任何其他方式,以进行单元测试,而无需实际更改原始源包中

java - JUnit4 fail() 在这里,但是 pass() 在哪里?

JUnit4库中有一个fail()方法。我喜欢它,但是缺少库中不存在的pass()方法。为什么会这样?我发现我可以改用assertTrue(true)但看起来仍然不合逻辑。@TestpublicvoidtestSetterForeignWord(){try{card.setForeignWord("");fail();}catch(IncorrectArgumentForSetterex){}//assertTrue(true);} 最佳答案 只要您的测试完成并通过,请调用return语句。

java - JUnit4 fail() 在这里,但是 pass() 在哪里?

JUnit4库中有一个fail()方法。我喜欢它,但是缺少库中不存在的pass()方法。为什么会这样?我发现我可以改用assertTrue(true)但看起来仍然不合逻辑。@TestpublicvoidtestSetterForeignWord(){try{card.setForeignWord("");fail();}catch(IncorrectArgumentForSetterex){}//assertTrue(true);} 最佳答案 只要您的测试完成并通过,请调用return语句。