You need to sign in to do that
Don't have an account?
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 ];
}
-------------------------------------------------------
@isTest
private class testdynamicstudent{
static testMethod void myTest() {
DynamicStudent ds=new DynamicStudent();
list<selectoption> opt=new list<selectOption>();
opt.add(new selectoption('a0490000002khRH','select123'));
ds.getallstds();
ds.res();
}
}
how to pass the select option values in getallstds method
help me
thanks in advance
Hi,
You have to create some test data for the student object in your test class.
Try this:
@isTest
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(){
createStudents();
DynamicStudent ds = new DynamicStudent();
System.assertEquals(10, ds.getallstds().size());
}
}
Thanks,
Thiyagarajan Selvaraj