System.assert、System.assertEquals、System.assertNotEquals。我认为这是 Apex 中最重要的三个方法调用。
这些是断言语句。它们用于测试以验证您拥有的数据是否符合您的期望。
System.assert 测试一个逻辑语句。如果该语句的计算结果为 True,则代码将继续运行。如果该语句的计算结果为 False,则代码将引发异常。
System.assertEquals 测试两个值是否相等。如果两者相等,则代码继续运行。如果它们不相等,则代码将引发异常。
System.assertNotEqual 测试两个值不相等。如果两者不相等,则代码继续运行。如果相等,则代码抛出异常。
这些对于完成系统测试至关重要。在 Apex Code 中,您必须有 75% 的线路测试覆盖率。许多人通过生成仅覆盖 75% 的代码行的测试代码来做到这一点。然而,这是一个不完整的测试。一个好的测试类实际上会测试代码是否符合您的期望。这对于确保您的代码实际工作非常有用。这使得调试和回归测试变得更加容易。例如。让我们创建一个名为 square(Integer i) 的方法,对返回的整数求平方。
public static Integer square( Integer i ) {
return i * i;
}
一个糟糕的测试方法就是:
@isTest
public static void test_squar() {
square( 1 );
}
一个好的测试方法可能是:
@isTest
public static void test_square() {
Integer i;
Integer ret_square;
i = 3;
ret_square = square( i );
System.assertEquals( i * i; ret_square );
}
我可能会这样写:
@isTest
public static void test_square() {
for( Integer i = 0; i < MAX_TEST_RUNS; i++ ) {
System.assertEquals( i*i, square( i ) );
}
}
良好的测试实践对于成为一名优秀的开发人员来说是不可或缺的。查看更多关于测试驱动的开发。 https://en.wikipedia.org/wiki/Test-driven_development