On 4 December 2016 at 14:31, Philippe Mouawad
<[email protected]> wrote:
> On Sun, Dec 4, 2016 at 3:25 PM, sebb <[email protected]> wrote:
>
>> On 4 December 2016 at 14:13, Felix Schumacher
>> <[email protected]> wrote:
>> > Am 27.11.2016 um 23:05 schrieb sebb:
>> >>
>> >> On 27 November 2016 at 21:18, Philippe Mouawad
>> >> <[email protected]> wrote:
>> >>>
>> >>> Hello,
>> >>> Looking for Deprecated code in JMeter to make some cleanup, I noticed
>> >>> that
>> >>> we have a lot of classes with default Constructors marked as Deprecated
>> >>> for
>> >>> Unit Test only.
>> >>>
>> >>> Couldn't we find a better way to do that and avoid using deprecated for
>> >>> that ?
>> >>
>> >> What's wrong with using deprecated?
>> >>
>> >> The advantage is that it's immediately obvious in main code.
>> >> Test code often needs to continue to test deprecated methods, so it's
>> >> OK to suppress deprecated warnings.
>> >> Whereas it's (almost) never right to suppress a deprecation warning in
>> >> main code.
>> >
>> > I think one of  the unit tests uses reflection to find default
>> constructors
>> > or constructors with object as an argument. It searches for those
>> > constructors on all Serializable classes it finds (at least it looked
>> like
>> > that), which seems a bit strange to me. This test emits a warning, when
>> it
>> > can't find one of those classes (as is the case with
>> > o.a.j.protocol.http.parser.CSSParseExceptionCallback which I refused to
>> give
>> > a default constructor, as it would not be able to set a valid baseUrl).
>> > I think we should limit the classes to test to something meaningful, or
>> at
>> > least give a list of exceptions, where the missing constructors are no
>> > problem.
>>
>> That's a slightly separate issue.
>> If we don't need the ctor for testing, then obviously the deprecated
>> tag is not needed.
>> However if the ctor is needed for testing, then I think the
>> @deprecated approach is a good way to try and prevent its use in
>> normal code.
>>
>
> IMO, deprecated means "replaced by something else and to be removed".
> Another annotation should be available if no better way is found.

To me it can also mean - it is available, but should not be used
unless absolutely necessary.

> Not fully related to this particular issue but with unit tests in general,
> maybe we should investigate introducing Mockito 2:
> https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2

Please start a new thread for a new subject.

>>
>> > Regards,
>> >  Felix
>> >
>> >>
>> >>> --
>> >>> Regards.
>> >>> Philippe
>> >
>> >
>> >
>>
>
>
>
> --
> Cordialement.
> Philippe Mouawad.

Reply via email to