मैं के साथ विषय "ईमेल टास्क"एपेक्स इकाई परीक्षण कोई डेटा
मैं के रूप में
public class TaskInfoDAOClass
{
public static List<Task> queryTaskInfo()
{
integer count = [SELECT count() FROM Task];
System.debug('Row Count :'+ count);
List<Task> tasks= [SELECT Task.Id,Task.AccountId,Task.Status,Task.Account.Name FROM Task where Task.Subject='Email Task'];
return tasks;
}
}
मैं एक परीक्षण वर्ग बनाया है सुप्रीम कोड का परीक्षण करने के सुप्रीम कोड लिखा है मेरे संगठन में एक काम बनाया है देखता है
@isTest
public class TestTaskInfoDAO
{
public static testMethod void testQueryTaskInfo()
{
List<Task> tasks = TaskInfoDAOClass.queryTaskInfo();
System.debug ('this is a debug statement');
for (Task t : tasks)
{
System.debug ('Status '+ t.Status);
System.debug ('Account name '+ t.Account.Name);
}
}
}
जब मैं इस परीक्षण को चलाता हूं तो मुझे 0 पंक्तियों के रूप में मिल रहा है। कृपया apex.log फ़ाइल
24.0 APEX_CODE,FINE;APEX_PROFILING,FINE;DB,INFO;VALIDATION,INFO;WORKFLOW,FINEST
23:48:30.100 (100678000)|EXECUTION_STARTED
23:48:30.100 (100722000)|CODE_UNIT_STARTED|[EXTERNAL]|01p90000000k5Qw|TestTaskInfoDAO.testQueryTaskInfo
23:48:30.101 (101272000)|METHOD_ENTRY|[2]|01p90000000k5Qw|TestTaskInfoDAO.TestTaskInfoDAO()
23:48:30.101 (101414000)|METHOD_EXIT|[2]|TestTaskInfoDAO
23:48:30.101 (101494000)|METHOD_ENTRY|[1]|01p90000000k5Qr|TaskInfoDAOClass.TaskInfoDAOClass()
23:48:30.101 (101513000)|METHOD_EXIT|[1]|TaskInfoDAOClass
23:48:30.101 (101782000)|METHOD_ENTRY|[6]|01p90000000k5Qr|TaskInfoDAOClass.queryTaskInfo()
23:48:30.102 (102176000)|SOQL_EXECUTE_BEGIN|[5]|Aggregations:0|select count() from Task
23:48:30.106 (106893000)|SOQL_EXECUTE_END|[5]|Rows:0
23:48:30.106 (106965000)|SYSTEM_METHOD_ENTRY|[6]|String.valueOf(Object)
23:48:30.107 (107012000)|SYSTEM_METHOD_EXIT|[6]|String.valueOf(Object)
23:48:30.107 (107032000)|SYSTEM_METHOD_ENTRY|[6]|System.debug(ANY)
23:48:30.107 (107040000)|USER_DEBUG|[6]|DEBUG|Row Count :0
23:48:30.107 (107047000)|SYSTEM_METHOD_EXIT|[6]|System.debug(ANY)
23:48:30.107 (107385000)|SOQL_EXECUTE_BEGIN|[9]|Aggregations:0|select Task.Id, Task.AccountId, Task.Status, Task.Account.Name from Task where Task.Subject = 'Email Task'
23:48:30.109 (109847000)|SOQL_EXECUTE_END|[9]|Rows:0
23:48:30.109 (109930000)|METHOD_EXIT|[6]|01p90000000k5Qr|TaskInfoDAOClass.queryTaskInfo()
23:48:30.110 (110074000)|USER_DEBUG|[7]|DEBUG|this is a debug statement
23:48:30.789 (111361000)|CUMULATIVE_LIMIT_USAGE
23:48:30.789|LIMIT_USAGE_FOR_NS|(default)|
Number of SOQL queries: 2 out of 100
Number of query rows: 0 out of 50000
Number of SOSL queries: 0 out of 20
Number of DML statements: 0 out of 150
Number of DML rows: 0 out of 10000
Number of script statements: 7 out of 200000
Maximum heap size: 0 out of 6000000
Number of callouts: 0 out of 10
Number of Email Invocations: 0 out of 10
Number of fields describes: 0 out of 100
Number of record type describes: 0 out of 100
Number of child relationships describes: 0 out of 100
Number of picklist describes: 0 out of 100
Number of future calls: 0 out of 10
23:48:30.789|TOTAL_EMAIL_RECIPIENTS_QUEUED|0
23:48:30.789|STATIC_VARIABLE_LIST|
double:MAX_VALUE:0
long:serialVersionUID:0
int:MAX_EXPONENT:0
int:MIN_EXPONENT:0
Boolean:TRUE:0
long:serialVersionUID:0
double:POSITIVE_INFINITY:0
double:MIN_NORMAL:0
double:MIN_VALUE:0
Boolean:FALSE:0
int:SIZE:0
char[]:DigitOnes:0
int[]:sizeTable:0
char[]:DigitTens:0
double:NaN:0
int:MAX_VALUE:0
char[]:digits:0
long:serialVersionUID:0
double:NEGATIVE_INFINITY:0
int:MIN_VALUE:0
int:SIZE:0
23:48:30.789|CUMULATIVE_LIMIT_USAGE_END
23:48:30.111 (111444000)|CODE_UNIT_FINISHED|TestTaskInfoDAO.testQueryTaskInfo
23:48:30.111 (111452000)|EXECUTION_FINISHED
23:48:30.999|CUMULATIVE_PROFILING_BEGIN
23:48:30.999|CUMULATIVE_PROFILING|SOQL operations|
Class.TaskInfoDAOClass.queryTaskInfo: line 5, column 1: [SELECT count() FROM Task]: executed 1 time in 5 ms
Class.TaskInfoDAOClass.queryTaskInfo: line 9, column 1: [SELECT Task.Id,Task.AccountId,Task.Status,Task.Account.Name FROM Task where Task.Subject='Email Task']: executed 1 time in 3 ms
23:48:30.999|CUMULATIVE_PROFILING|No profiling information for SOSL operations
23:48:30.999|CUMULATIVE_PROFILING|No profiling information for DML operations
23:48:30.999|CUMULATIVE_PROFILING|method invocations|
External entry point: public static testMethod void testQueryTaskInfo(): executed 1 time in 11 ms
Class.TestTaskInfoDAO.testQueryTaskInfo: line 6, column 1: public static LIST<Task> queryTaskInfo(): executed 1 time in 8 ms
Class.TestTaskInfoDAO.testQueryTaskInfo: line 9, column 1: global object iterator(): executed 2 times in 1 ms
Class.TaskInfoDAOClass.queryTaskInfo: line 6, column 1: global public static String valueOf(Object): executed 2 times in 0 ms
Class.TestTaskInfoDAO.testQueryTaskInfo: line 7, column 1: global public static void debug(ANY): executed 1 time in 0 ms
23:48:30.999|CUMULATIVE_PROFILING_END
मुझे 0 ROW COUNT क्यों मिल रहा है?
निश्चित रूप से। यह परिवर्तन कुछ निराश होने का कारण बन रहा है लेकिन अंत में यह हर किसी के लिए बेहतर होगा। मैं समर्थन वर्ग बनाना चाहता हूं जो टेस्ट डेटा उत्पन्न करने वाले टेस्ट विधियों को कॉल करें। यह अब भी बेहतर है कि हमारे द्वारा डाले गए परीक्षण डेटा के आधार पर परिणामों की अपेक्षा करने के लिए यादृच्छिक वास्तविक डेटा की संभावना नहीं होगी। यदि, उदाहरण के लिए, मैं एक "ईमेल कार्य" रिकॉर्ड डालता हूं, तो मुझे पता चलेगा कि परीक्षण में केवल एक ही होगा, इसलिए गिनती होगी() 1 = 1, संभावित रूप से नहीं> 1। – Adam