intellitest- не удалось сгенерировать ни одного теста в x прогонах
Я не могу создать контрольные примеры с помощью intellitest. После исправления проблем я всегда приходил к выводу, что получаю предупреждение: "Не удалось сгенерировать какой-либо тест в x прогонах". Есть ли какой-то ручной шаг, которому нужно следовать? или это предупреждение происходит из-за плохого кода или может быть какими-либо ограничениями в рамках системы Intellitest.
Есть идеи, пожалуйста? Я пытался в течение последних многих дней:/
У меня есть класс с именем "HolidaySetupComponent". Я хочу создать контрольные примеры для этого метода класса "GetEmailContent(string emailtypeTag)".
Ниже мой код.
public class HolidaySetupComponent
{
private string table1;
private string table2;
private string table3;
public String _CompanyId;
int _CompId;
string connectionString= ConfigurationManager.ConnectionStrings["HCMSConnectionString"].ConnectionString;
DataServices dataservice = new DataServices();
public HolidaySetupComponent()
{
dataservice.BeginProcess(connectionString);
table1 = "tblHoliday";
table2 = "tblSetupsDetail";
table3 = "tblEmailHistory";
_CompanyId = Utilities.GetCompanyId();
}
public DataSet GetEmailContent(string emailtypeTag)
{
DataSet ds = new DataSet();
int emailtypetagId = 0;
if (emailtypeTag == "NationalTab")
{
emailtypetagId = 4;
}
else { emailtypetagId = 5; }
string whereclause = "EmailType = " + emailtypetagId + "AND CompanyId =" + Utilities.GetCompanyId();
string result = dataservice.GetDataWithClause("*", "tblEmailContentCreation", whereclause, ref ds);
return ds;
}
}
public static class Utilities
{
static DataServices dataService = new DataServices();
static DataServices dataServiceAuditTrail = new DataServices();
public Utilities()
{
dataService.BeginProcess(ConfigurationManager.ConnectionStrings["HCMSConnectionString"].ConnectionString);
dataServiceAuditTrail.BeginProcess(ConfigurationManager.ConnectionStrings["vCurioAuditTrailConnectionString"].ConnectionString);
}
public static String GetCompanyId()
{
var _clientIP = HttpContext.Current.Request.Headers.GetValues("login");
string prefix = Utilities.GetPrefix(_clientIP[0]);
string _loginDetail = Utilities.GetKeyInRedis(prefix + "OtherData");
DataTable dtloginDetail = (DataTable)JsonConvert.DeserializeObject(_loginDetail, (typeof(DataTable)));
String _CompanyId = String.Empty;
if (dtloginDetail != null && dtloginDetail.Rows.Count != 0)
{
DataRow drloginDetail = dtloginDetail.Rows[0];
_CompanyId = drloginDetail["CompanyId"].ToString();
}
return _CompanyId;
}
}
Когда я нажимаю на "Выполнить intellitest" на методе "GetEmailContent (string emailtypeTag)", в "holidaySetupComponent" появляются следующие предупреждения.
На этом этапе, как я понимаю, мне нужно исправить это предупреждение, поэтому я выбрал все предупреждения под этими параметрами и применил исправление.
- Создание объекта (2)
- Неинструментированный метод (4)
Опция "Fix" была отключена для оставления предупреждений под предупреждением ниже, поэтому я "Supperss" эти предупреждения
- Предупреждение во время выполнения
- Магазин статических полей
После применения этих исправлений intellitest создал фабричный класс "HolidaySetupComponentFactory" для создания объекта "HolidaySetupComponent"
public static partial class HolidaySetupComponentFactory
{
///<summary>A factory for HolidaySetupComponent instances</summary>
[PexFactoryMethod(typeof(global::HolidaySetupComponent))]
public static global::HolidaySetupComponent Create(string _CompanyId_s)
{
global::HolidaySetupComponent holidaySetupComponent
= new global::HolidaySetupComponent();
holidaySetupComponent._CompanyId = _CompanyId_s;
return holidaySetupComponent;
// TODO: Edit factory method of HolidaySetupComponent
// This method should be able to configure the object in all possible ways.
// Add as many parameters as needed,
// and assign their values to each field by using the API.
}
}
а также добавил эти строки в PexAssemblyInfo.cs по intellitest, когда я "подавить" предупреждения.
[assembly: PexInstrumentAssembly("System.Configuration")]
[assembly: PexInstrumentType(typeof(Attribute))]
[assembly: PexInstrumentType(typeof(TextReader))]
[assembly: PexSuppressStaticFieldStore("System.ComponentModel.ReflectTypeDescriptionProvider", "_intrinsicTypeConverters")]
[assembly: PexSuppressStaticFieldStore(typeof(AttributeCollection), "_defaultAttributes")]
[assembly: PexSuppressStaticFieldStore("System.ComponentModel.ReflectTypeDescriptionProvider", "_attributeCache")]
[assembly: PexInstrumentAssembly("System.Xml")]
[assembly: PexSuppressExplorableEvent(typeof(global::HolidaySetupComponent))]
После этого я получаю "Предупреждение во время выполнения", от которого не могу избавиться
Нужна помощь!!!
Спасибо