A test case without assertions ensures only that no exceptions are thrown. Beyond basic runnability, it ensures nothing about the behavior of the code under test.


 


This rule raises an issue when a function with an ``++@isTest++`` annotation does not call at least one of the following functions once:

* ``++System.assert++``
* ``++System.assertEquals++``
* ``++System.assertNotEquals++``

== Noncompliant Code Example

----
@isTest()
class ApexTests {
    @isTest
    private static void mytest() { // Noncompliant
        MyClass.createTask();
    }
}
----

== Compliant Solution

----
@isTest()
class ApexTests {
    @isTest
    private static void mytest() {
        Task task = MyClass.createTask();
        System.assert("expected subject", task.subject, "task has not the expected subject");
    }
}
----
