+ Start a Discussion

code coverage issue




hi all i have created one class that dynamically fetch student records.when i created test class it is not covering all code.





 public with sharing class DynamicStudent  


 public String allstdnames { get; set; }

   public String selectedstudId { get; set; }

   public string Id{get;set;} 

  public student__c stdinfo{get;set;} 

  public list<SelectOption> getallstds()    {

 list<selectOption> options=new list<selectOption>(); 

   list<student__c> allstds=[select id,name from student__c limit 10]; 

   for(integer i=0;i<allstds.size();i++) 


   options.add(new selectOption(allstds[i].id,allstds[i].name)); 


   return options; 


    public void res() 


     stdinfo=[select id,name from student__c where id=: selectedstudId ]; 




private class testdynamicstudent{

static testMethod void myTest() {

DynamicStudent ds=new DynamicStudent();
list<selectoption> opt=new list<selectOption>();

opt.add(new selectoption('a0490000002khRH','select123'));






how to pass the select option values in getallstds method

help  me

thanks  in advance





You have to create some test data for the student object in your test class.


Try this:


public class testdynamicstudent{

public List<student__c> createStudents(){
List<student__c> studentList = new List<student__c>();
for (Integer i=0;i<10;i++){
studentList.add(new student__c(Name-'Test student '+i));
upsert studentList;
return [SELECT Id, Name FROM student__c];

static testMethod void test_getallstds(){
DynamicStudent ds = new DynamicStudent();
System.assertEquals(10, ds.getallstds().size());




Thiyagarajan Selvaraj