
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
75 lines
1.8 KiB
Plaintext
75 lines
1.8 KiB
Plaintext
== Why is this an issue?
|
|
|
|
Test frameworks provide a mechanism to skip tests if their prerequisites are not met, by either calling dedicated methods (e.g: ``++unittest.TestCase.skipTest++``, ``++pytest.skip++``, ...) or using decorators (e.g: ``++unittest.skip++``, ``++pytest.mark.skip++``, ...)
|
|
|
|
|
|
Using a ``++return++`` statement instead will make the test succeed, even though no assertion has been performed. It is therefore better to flag the test as ``++skipped++`` in such situation.
|
|
|
|
|
|
This rule raises an issue when a ``++return++`` is performed conditionally at the beginning of a test method.
|
|
|
|
|
|
No issue will be raised if the ``++return++`` is unconditional as S1763 already raises an issue in such case.
|
|
|
|
|
|
The supported frameworks are ``++Pytest++`` and ``++Unittest++``.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,python]
|
|
----
|
|
import unittest
|
|
class MyTest(unittest.TestCase):
|
|
|
|
def test_something(self):
|
|
if not external_resource_available():
|
|
return # Noncompliant
|
|
self.assertEqual(foo(), 42)
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,python]
|
|
----
|
|
import unittest
|
|
class MyTest(unittest.TestCase):
|
|
|
|
def test_something(self):
|
|
if not external_resource_available():
|
|
self.skipTest("prerequisite not met")
|
|
self.assertEqual(foo(), 42)
|
|
----
|
|
|
|
|
|
== Resources
|
|
|
|
* https://docs.pytest.org/en/latest/how-to/skipping.html[Pytest: skipping test functions]
|
|
* https://docs.python.org/3/library/unittest.html#skipping-tests-and-expected-failures[Unittest: skipping tests and expected failures]
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Skip this test explicitly.
|
|
|
|
|
|
=== Highlighting
|
|
|
|
The return statement
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== is related to: S1763
|
|
|
|
endif::env-github,rspecator-view[]
|