Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Salesforce 这个apex代码中发生了什么? stringcolor1=moreColors.get(0); 字符串color2=更多颜色[0]; 系统。assertEquals(颜色1、颜色2); //迭代列表以读取元素 对于(整数i=0;i_Salesforce_Apex - Fatal编程技术网

Salesforce 这个apex代码中发生了什么? stringcolor1=moreColors.get(0); 字符串color2=更多颜色[0]; 系统。assertEquals(颜色1、颜色2); //迭代列表以读取元素 对于(整数i=0;i

Salesforce 这个apex代码中发生了什么? stringcolor1=moreColors.get(0); 字符串color2=更多颜色[0]; 系统。assertEquals(颜色1、颜色2); //迭代列表以读取元素 对于(整数i=0;i,salesforce,apex,Salesforce,Apex,System.assert、System.assertEquals、System.assertNotEquals。我认为这是Apex中最重要的三个方法调用 这些是断言语句。它们用于测试,以验证您拥有的数据是否符合您的期望 System.assert测试逻辑语句。如果该语句的计算结果为True,则代码将继续运行。如果该语句的计算结果为False,则代码将引发异常 System.assertEquals测试两个值是否相等。如果两个值相等,代码将继续运行。如果它们不相等,代码将抛出异常 System.

System.assert、System.assertEquals、System.assertNotEquals。我认为这是Apex中最重要的三个方法调用

这些是断言语句。它们用于测试,以验证您拥有的数据是否符合您的期望

System.assert测试逻辑语句。如果该语句的计算结果为True,则代码将继续运行。如果该语句的计算结果为False,则代码将引发异常

System.assertEquals测试两个值是否相等。如果两个值相等,代码将继续运行。如果它们不相等,代码将抛出异常

System.assertNotEqual测试两个值是否不相等。如果这两个值不相等,代码将继续运行。如果它们相等,代码将引发异常

这些是完成系统测试的关键。在Apex代码中,您必须有75%的行测试覆盖率。许多人通过生成只覆盖75%的代码行的测试代码来实现这一点。然而,这是一个不完整的测试。一个好的测试类实际上测试代码是否符合您的预期。这对于确保您的code实际上可以工作。这使得调试和回归测试更加容易。例如,让我们创建一个名为square(Integer i)的方法,对返回的整数进行平方运算

String color1 = moreColors.get(0);
String color2 = moreColors[0];
System.assertEquals(color1, color2);

// Iterate over a list to read elements
for(Integer i=0;i<colors.size();i++) {
    // Write value to the debug log
    System.debug(colors[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
公共静态空隙试验(U square)(){
对于(整数i=0;i
良好的测试实践是成为一名优秀开发人员不可或缺的一部分。请查看更多关于测试驱动开发的信息。

逐行

@isTest
public static void test_square() {
    for( Integer i = 0; i < MAX_TEST_RUNS; i++ ) {
        System.assertEquals( i*i, square( i ) );
    }
}
//使用字符串color1中的list Get方法store获取moreColors列表位置0处的颜色
字符串color1=moreColors.get(0);
//使用字符串color2中的数组表示法存储,获取moreColors列表位置0处的颜色,
//基本上以不同的方式获得相同的值
字符串color2=更多颜色[0];
//断言值相同,如果为false则引发异常
系统。assertEquals(颜色1、颜色2);
//迭代列表以读取元素

for(Integer i=0;在我看来,它类似于JUnit assert语句-用于单元测试。
//Get color in position 0 of moreColors list using the list get method store in string color1
String color1 = moreColors.get(0); 

//Get color in position 0 of moreColors list using array notation store in string color2, 
//basically getting the same value in a different way
String color2 = moreColors[0]; 

//Assert that the values are the same, throws exception if false
System.assertEquals(color1, color2);

// Iterate over a list to read elements
for(Integer i=0;i<colors.size();i++) {
    // Write value to the debug log
    System.debug(colors[i]);//Writes the value of color list ith position to the debug log
}