草庐IT

junit-rule

全部标签

spring - 跨junit测试类重用spring应用程序上下文

我们有一堆JUnit测试用例(集成测试),它们在逻辑上被分组到不同的测试类中。我们能够为每个测试类加载一次Spring应用程序上下文,并将其重新用于JUnit测试类中的所有测试用例,如http://static.springsource.org/spring/docs/current/spring-framework-reference/html/testing.html中所述但是,我们只是想知道是否有一种方法可以为一堆JUnit测试类只加载一次Spring应用程序上下文。FWIW,我们使用Spring3.0.5、JUnit4.5并使用Maven构建项目。

gradle - 如何将 Gradle 中的原生 JUnit 5 支持与 Kotlin DSL 结合使用?

我想将内置JUnit5与GradleKotlinDSL一起使用,因为在构建过程中我收到以下警告:WARNING:Thejunit-platform-gradle-pluginisdeprecatedandwillbediscontinuedinJUnitPlatform1.3.PleaseuseGradle'snativesupportforrunningtestsontheJUnitPlatform(requiresGradle4.6orhigher):https://junit.org/junit5/docs/current/user-guide/#running-tests-bu

intellij-idea - 如何让我的 JUnit 测试在我的 Kotlin+Gradle 项目中编译和运行?

我根据thispreviousquestion创建了一个Kotlin+Gradle项目.我添加了两个源文件:src/HelloWorld.ktpackagecom.example.hellofunmain(args:Array){println("Hello,world!")}测试/HelloWorldTest.ktpackagecom.example.helloimportorg.junit.Assertimportorg.junit.TestclassHelloWorldTest{@TestfuntestPasses(){Assert.assertTrue(true)}@Testf

AndroidJUnit4.class 已弃用 : How to use androidx. test.ext.junit.runners.AndroidJUnit4?

对于我正在使用的仪器测试@RunWith(AndroidJUnit4.class)来自importandroidx.test.runner.AndroidJUnit4;为了建立我的测试用例。现在这一行被标记为已弃用,并提示使用AndroidJUnit4fromimportandroidx.test.ext.junit.runners.AndroidJUnit4但是,如果我尝试从命名包中导入AndroidJUnit4会收到错误,即无法解析ext。你有什么想法,应该在gradle中包含什么包来解决这个问题? 最佳答案 根据thedocu

c++ - "dereferencing type-punned pointer will break strict-aliasing rules"警告

我使用了一个将enum*转换为int*的代码。像这样的:enumfoo{...}...foofoobar;int*pi=reinterpret_cast(&foobar);编译代码(g++4.1.2)时,我收到以下警告消息:dereferencingtype-punnedpointerwillbreakstrict-aliasingrules我用谷歌搜索了这条消息,发现只有在严格的别名优化开启时才会发生这种情况。我有以下问题:如果我留下带有此警告的代码,它会生成潜在的错误代码吗?有没有办法解决这个问题?如果没有,是否可以从源文件内部关闭严格别名(因为我不想为所有源文件关闭它,也不想为这

java - 将测试文件导入 JUnit 的简单方法

有人可以建议一种简单的方法来获取对文件的引用作为junit测试类中的String/InputStream/File/etc类型对象吗?显然,我可以将文件(在这种情况下为xml)粘贴为一个巨大的字符串或将其作为文件读入,但是有这样特定于Junit的快捷方式吗?publicclassMyTestClass{@Resource(path="something.xml")FilemyTestFile;@TestpublicvoidtoSomeTest(){...}} 最佳答案 你可以试试@Rule注解。以下是文档中的示例:publicsta

java - 如何立即重新运行失败的 JUnit 测试?

有没有办法拥有一个JUnit规则或类似的东西,让每个失败的测试都有第二次机会,只需尝试再次运行它。背景:我有大量用JUnit编写的Selenium2-WebDriver测试。由于非常激进的时间安排(点击后只有很短的等待时间),一些测试(100次中的1次,并且总是不同的测试)可能会失败,因为服务器有时会响应较慢。但是我不能让等待时间太长以至于它绝对足够长,因为那样测试将永远持续。)-所以我认为这个用例即使需要第二个测试也是绿色的也是可以接受的试试看。当然,最好有3个多数中的2个(重复失败的测试3次,如果其中两个测试正确,则认为它们是正确的),但这将是future的改进。

java - jUnit中的CollectionAssert?

是否有与NUnit的CollectionAssert平行的jUnit?? 最佳答案 使用JUnit4.4,您可以将assertThat()与Hamcrest一起使用代码(不用担心,它与JUnit一起提供,不需要额外的.jar)来生成复杂的自描述断言,包括对集合进行操作的断言:importstaticorg.junit.Assert.assertThat;importstaticorg.junit.matchers.JUnitMatchers.*;importstaticorg.hamcrest.CoreMatchers.*;List

java - 如何使用 JUnit 测试 Java 中的抽象类?

我是使用JUnit进行Java测试的新手。我必须使用Java,我想使用单元测试。我的问题是:我有一个带有一些抽象方法的抽象类。但是有些方法不是抽象的。如何用JUnit测试这个类?示例代码(很简单):abstractclassCar{publicCar(intspeed,intfuel){this.speed=speed;this.fuel=fuel;}privateintspeed;privateintfuel;abstractvoiddrive();publicintgetSpeed(){returnthis.speed;}publicintgetFuel(){returnthis.

java - JUnit 测试在 Eclipse 中通过但在 Maven Surefire 中失败

我已经使用JUnit4和spring-test库编写了一些JUnit测试。当我在Eclipse中运行测试时,运行良好并通过。但是当我使用Maven运行它们时(在构建过程中),它们无法给出与spring相关的错误。我不确定是什么导致了这个问题,JUnit、Surefire还是Spring。这是我的测试代码、spring配置和我从Maven获得的异常:PersonServiceTest.javapackagecom.xyz.person.test;importstaticcom.xyz.person.util.FjUtil.toFjList;importstaticjunit.framew