Test code looks something like this
if (table.ContainsColumn("DecisionGroupOptionId"))
{
foreach (var tableRow in table.Rows)
{
try
{
var name = tableRow["DecisionGroupOptionId"];
var code = _catalogLookupContext.DecisionGroupOptions.FindIdByName(name);
tableRow["DecisionGroupOptionId"] = code;
}
catch (Exception)
{
//don't fail
}
}
}
public virtual string FindIdByName(string name)
{
var item = _list.FirstOrDefault(r => r.Name == name);
Assert.That(item, Is.Not.Null, "ID lookup by the name '{0}' failed. No such name exists in the map.", name);
return item.Id;
}
The testlog shows failure if name is null. Isnt this not supposed to show fail as there is catch block? Please help.
Test project uses assemblies like below
[SpecFlow] SpecFlow.Tools.MsBuild.Generation, Version=3.1.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41
[SpecFlow] TechTalk.SpecFlow, Version=3.1.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41
[SpecFlow] TechTalk.SpecFlow.Generator, Version=3.1.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41
[SpecFlow] TechTalk.SpecFlow.Utils, Version=3.1.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41
[SpecFlow] TechTalk.SpecFlow.Parser, Version=3.1.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41
[SpecFlow] TechTalk.SpecFlow.NUnit.Generator.SpecFlowPlugin, Version=3.1.0.0, Culture=neutral, PublicKeyToken=0778194805d6db41