You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2019/10/07 04:52:00 UTC

[jira] [Work logged] (FILEUPLOAD-302) Upgrade test framework to JUnit Jupiter

     [ https://issues.apache.org/jira/browse/FILEUPLOAD-302?focusedWorklogId=324155&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-324155 ]

ASF GitHub Bot logged work on FILEUPLOAD-302:
---------------------------------------------

                Author: ASF GitHub Bot
            Created on: 07/Oct/19 04:51
            Start Date: 07/Oct/19 04:51
    Worklog Time Spent: 10m 
      Work Description: mureinik commented on pull request #23: FILEUPLOAD-302: JUnit Jupiter migration
URL: https://github.com/apache/commons-fileupload/pull/23
 
 
   This PR upgrades the project's testing framework from JUnit 4.12 to the modern JUnit Jupiter 5.5.2.
   
   Since JUnit 5 Jupiter is not backwards compatible to JUnit 4.x (or even JUnit Vintage), this PR is a bit large, even though most of the changes are merely cosmetic (such as changing the argument order,
   see details below). In order to make the reviewer's task as easy as possible, this PR does not presume to use JUnit Jupiter's best practices and all its new functionality, but only to migrate the
   existing tests with as little change as possible. Following PRs may want to improve the tests by using some of JUnit Jupiter's new features.
   
   This PR includes the following changes:
   
   1. Maven dependency changes:
        1. `junit:junit` was replaced with `org.junit.jupiter:junit-jupiter`.
   
   2. Annotations:
        1. `org.junit.jupiter.api.Test` was used as a drop in replacement for `org.juit.Test` without arguments. See 3.i. for handling of `@Test` annotations with an `expected` argument.
        1. `org.junit.jupiter.api.BeforeEach` was used as an drop in replacement for `org.junit.Before`.
        1. `org.junit.jupiter.api.AfterEach` was used as an drop in replacement for `org.junit.After`.
   
   3. Assertions:
        1. `org.junit.jupiter.api.Assertions`' methods were used as drop in replacements for `org.junit.Assert`'s methods with the same name in the simple case of an assertion without a message. In the case of an assertion with a message, `org.junit.jupiter.api.Assertions`' methods were used, but the argument order was changed - `Assert`'s methods take the message as the first argument, while `Assertions`' methods take the message as the last argument.
        1. `org.junit.jupiter.api.Assertions`' methods were used as drop in replacements for `junit.framework.TestCase`'s methods with the same name in the simple case of an assertion without a message.
        1. `org.junit.jupiter.api.Assertions#assertThrows` was used to assert that a specific exception was throws instead of an `org.junit.Test` annotation with an `expected` argument. As a side bonus, this change makes the tests slightly stricter, as now they can assert the exception was thrown from a specific line and prevent false positives where the test's "set-up" code accidentally threw that exception.
   
   
   4. Parameterized tests:
        1. `FileUploadTest` was rewritten with `@ParameterizedTest` and `@MethodSource` in order to gain an equivalent functionality of JUnit 4's `Parameterized` runner.
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

            Worklog Id:     (was: 324155)
    Remaining Estimate: 0h
            Time Spent: 10m

> Upgrade test framework to JUnit Jupiter
> ---------------------------------------
>
>                 Key: FILEUPLOAD-302
>                 URL: https://issues.apache.org/jira/browse/FILEUPLOAD-302
>             Project: Commons FileUpload
>          Issue Type: Task
>            Reporter: Allon Mureinik
>            Priority: Minor
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Commons FileUpload uses JUnti 4.12, which is a tad upgraded.
> Migrating to the modern JUnit Jupiter may help ease new contributors' participation.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)