草庐IT

java - JUnit 向测试用例添加额外测试

我正在使用Eclipse我已经定义了一些JUnit4测试用例。一些类发生了变化(目前只有轻微变化),我想知道是否有任何方法可以打开GUI,我可以在其中选择我想要再次创建测试stub的方法,以更新现有的测试用例。我知道我可以手动添加它们,我也可以用不同的文件名创建一个新的测试用例,然后复制并粘贴它们,但是有什么方法可以更顺畅地从类更新测试用例吗?马特 最佳答案 我使用了一个名为MoreUnit的插件.如果你在一个方法上,你可以按Ctrl+U在测试类中生成一个测试方法。然后您可以按Ctrl+J跳转到测试方法并执行它。它还在具有测试用例的

java - 使用 Ant 仅运行特定的 JUnit 测试

我们目前已经建立了一个项目,并有4个团队负责该项目的不同部分。我想要运行5个Ant目标。每个团队一个,另外一个用于生产。但我想在我的测试中设置一个枚举以确定运行哪些测试。例如,如果一个测试有。runConfiguration=RunConfigurations.PRODUCTION;然后我将运行它以仅针对特定的Ant目标运行。如果我这样做,其他测试也会运行:runConfiguration=RunConfigurations.TEAM1;等等是否有可能在ant中创建一个batchtest以仅运行具有特定枚举值的测试?还是有另一种方法可以达到同样的目的? 最佳

java - Junit of equals 方法

我只想知道是否有最佳实践或通用方法来测试对象中的equals实现。我的意思是已被覆盖的测试方法。publicbooleanequals(Objecto)我确实使用了这样的逻辑。(假设number和name需要相等才能获得true)Dogd1=newDog(1,"Alvin");Dogd2=newDog(2,"Alvin");Assert.assertFalse(d1.equals(null));Assert.assertFalse(d1.equals(d2));d2.setId(1);d2.setName("Kelvin");Assert.assertFalse(d1.equals(d

java - 在测试类中使用 JUnit 临时文件夹时出现 "folder has not yet been created"错误

我收到错误“临时文件夹尚未创建”,该错误来自TemporaryFolder.getRoot()方法抛出的IllegalStateException。看起来它没有初始化,但我的研究表明,当临时文件夹在setUp()方法中初始化时,通常会出现这种情况。但是在我看来,像我一样将它与@Rule一起使用应该可行。有什么想法吗?测试类publicclassFileReaderTestextendsTestCase{@RulepublicTemporaryFolderfolder=newTemporaryFolder();publicFileReaderTest(StringtestName){su

java - 是否可以在 JUnit 4 中排除多个类别?

我想做这样的事情:@RunWith(Categories.class)@Categories.IncludeCategory(Small.class)@Categories.ExcludeCategory({Manual.class,NonFunctional.class})@Suite.SuiteClasses(AllTests.class)publicclassSmallTests{}但是ExcludeCategories只接受一个类,而不是一组类。 最佳答案 这将在JUnit4.12版本中得到支持,请参阅https://git

java - Maven,Jenkins - 如何将项目构建到不同的测试环境?

我有一个Java项目,其中包含需要通过Jenkins在不同的测试环境(Dev、Staging等)上运行的junit测试。如何将项目的build设置为不同的环境以及如何将url、用户名和密码传递给maven?我可以使用maven3配置文件从属性文件中读取环境url、用户名和密码吗?编辑:我已将配置文件添加到项目POM:IntegrationStagingPP1PP2PP3如何将url、用户名和密码传递给这些配置文件?目前测试正在从属性文件中获取测试环境的详细信息:publicclassBoGeneralTestextendsTestCase{protectedWebDriverdrive

java - 在 Junit 中使用类别时如何使用自定义运行程序?

我有一堆JUnit测试扩展了我的名为BaseTest的基本测试类,后者又扩展了Assert。我的一些测试有一个@Category(SlowTests.class)注释。我的BaseTest类使用以下注释@RunWith(MyJUnitRunner.class)进行注释。我已经设置了一个预期仅运行SlowTests的Gradle任务。这是我的Gradle任务:taskintegrationTests(type:Test){minHeapSize="768m"maxHeapSize="1024m"testLogging{events"passed","skipped","failed"ou

java - 如何打开包并仅要求依赖于测试范围模块以进行 JUnit 测试

我正在使用类路径将一个jar项目从Java10迁移到使用Java9拼图模块的Java11。该项目有JUnit5测试。测试依赖项由Maven在测试范围内提供。模块被其他项目使用时,如何让所有包都打开测试但不打开?jar项目只是为其他项目(因此不需要主类)提供一些类(如实用项目)。该项目在/src/main/java/a/b/c/中获得了5个包。使用这个jar的项目应该可以访问其中的2个。其他3个仅供内部使用(由可访问的使用)。测试位于/src/test/java/a/b/c/。这些测试具有在测试范围内提供的依赖项(JUnit、mockito、junt-params),因为测试与使用此ja

java - 测试在 JUnit 4 而不是 JUnit 5 下运行——编译干净,但执行 0 个测试

任何人都可以在几分钟内轻松重现此问题。基本Mavenquickstart项目借助IntelliJ2018.3和Maven3.6.0,我使用Maven原型(prototype)创建了一个全新的项目maven-archetype-quickstart1.4版。Java11在新项目的POM文件中,我将maven.compiler.source和maven.compiler.target的属性从1.7更改为11,适用于Java11.0.2我目前正在使用,Zulu来自AzulSystems.UTF-81111在IntelliJ的Maven面板上,我运行了clean和install生命周期事件。在

java - 如何使用 ExpectedException 规则在一个测试中测试多个异常?

有一个关于junit的ExpectedException规则的使用的问题:如此处所建议:junitExpectedExceptionRule从junit4.7开始,可以像这样测试异常(这比@Test(expected=Exception.class)好得多):@RulepublicExpectedExceptionexception=ExpectedException.none();@TestpublicvoidtestFailuresOfClass(){Foofoo=newFoo();exception.expect(Exception.class);foo.doStuff();}现