Specflow - STEPARGUMEMUMENTTRANSFORMATION SYSTEM.INVALIDCASTEXCEPTION: «Объект должен реализовать Iconvertible».C#

Место общения программистов C#
Ответить
Anonymous
 Specflow - STEPARGUMEMUMENTTRANSFORMATION SYSTEM.INVALIDCASTEXCEPTION: «Объект должен реализовать Iconvertible».

Сообщение Anonymous »

У меня есть эта проблема, в которой я не могу решить. Я могу использовать точные таблицы в своих тестах, но когда я пытался использовать StepargumentTransformation, теперь я получаю System.invalidcastException: «Объект должен реализовать Iconvertible. ' Когда я пытаюсь запустить тест
Вот мои классы и функцию < /p>
Feature: Test

Scenario Outline: Create a Test
Given I Log into ISEOffice with ""
| TestName| TestType| AdditonalTestType|
| Name1 | Type1 | AddType1 |
| Name2 | Type2 | AddType2 |
| Name3 | Type3 | AddType3 |
When I create Something
Then something should happen

@Dev
Examples:
| UserRole |
| TestRole |
< /code>
public class TestContext
{
public string TestName{ get; set; }

public string TestType { get; set; }

public string AdditionalTestType { get; set; }
}
< /code>
public class TestTestData
{
public string TestName{ get; set; }

public string TestType { get; set; }

public string AdditionalTestType { get; set; }
}
< /code>
[Binding]
public class TestTransforms
{
[StepArgumentTransformation]

public IEnumerable TestTransform(Table table)
{
return table.CreateSet();
}

}
< /code>

[Binding]
public class NewTestSteps : Base
{
private readonly TestContext _testContext;

public NewTestSteps(TestContext testContext)
{
_testContext = testContext;
}

[Given(@"I Log into Test App with ""(.*)""")]
public void GivenILogIntoTestAppWith(string UserRole, IEnumerable table)
{
// using context injection, how do I apply it here with the table data?
}

< /code>
I am having an issue at this part and when i try to run my code I get System.InvalidCastException: 'Object must implement IConvertible.'
Без StepargumentTransformation Я бы применил приведенное ниже, и это работало нормально. Я подозреваю, что это связано с использованием ienumerable, но я не могу найти решение < /p>
[Given(@"I Log into Test App with ""(.*)""")]
public void GivenILogIntoTestAppWith(string UserRole, Table table)
{
var testData = table.CreateSet();
foreach (var data in testData)
{
// data.TestName etc.
}
}


Подробнее здесь: https://stackoverflow.com/questions/660 ... bject-must
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»