rspec/rules/S2391/java/rule.adoc

47 lines
1.3 KiB
Plaintext
Raw Normal View History

== Why is this an issue?
2021-04-28 16:49:39 +02:00
If the ``++suite++`` method in a JUnit 3 ``++TestCase++`` is not declared correctly, it will not be used. Such a method must be named "suite", have no arguments, be ``++public static++``, and must return either a ``++junit.framework.Test++`` or a ``++junit.framework.TestSuite++``.
Similarly, ``++setUp++`` and ``++tearDown++`` methods that aren't properly capitalized will also be ignored.
=== Noncompliant code example
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,java]
2021-04-28 16:49:39 +02:00
----
Test suite() { ... } // Noncompliant; must be public static
public static boolean suite() { ... } // Noncompliant; wrong return type
public static Test suit() { ... } // Noncompliant; typo in method name
public static Test suite(int count) { ... } // Noncompliant; must be no-arg
public void setup() { ... } // Noncompliant; should be setUp
public void tearDwon() { ... } // Noncompliant; should be tearDown
----
=== Compliant solution
2021-04-28 16:49:39 +02:00
2022-02-04 17:28:24 +01:00
[source,java]
2021-04-28 16:49:39 +02:00
----
public static Test suite() { ... }
public void setUp() { ... }
public void tearDown() { ... }
----
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::message.adoc[]
'''
== Comments And Links
(visible only on this page)
include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]