rspec/rules/S2391/java/rule.adoc

47 lines
1.3 KiB
Plaintext

== Why is this an issue?
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
[source,java]
----
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
[source,java]
----
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[]