Повторное использование шага в другом проекте в том же решенииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Повторное использование шага в другом проекте в том же решении

Сообщение Anonymous »

Какой лучший способ повторно использовать Спецификацию/когда/затем шаги? Я выяснил три способа со всеми конкретными преимуществами и недостатками, но я не уверен, что это лучший способ. < /P>

У меня есть два проекта в одном решении

projecta: < /p>

[Binding]
public class BookSteps : StepsBase
{
[Given(@"the following books:")]
public void GivenTheFollowingBooks(Table table)
{
// ...
}
}
< /code>


Я могу просто наследовать свои шаги, как: < /li>
< /ol>

ProjectB:< /code> < /p>

[Binding]
public class BookStepsReference : ProjectA.BookSteps { }
< /code>

Это работает и требует наименьшей работы. К сожалению, он нарушает интеллект файлов функций: шаги остаются фиолетовыми в файлах функций ProjectB. < /P>


Я могу наследовать и создавать метод с той же подписью: < /li>
< /ol>

ProjectB:< /code> < /p>

[Binding]
public class BookStepsReference : ProjectA.BookSteps
{
[Given(@"the following books:")]
public void GivenTheFollowingBooksReference(Table table)
{
base.GivenTheFollowingBooks(table);
}
}
< /code>

Это разрывается, когда я пытаюсь запустить тест, потому что автоматические шаги функции видят два метода с данным атрибутом «Следующие книги:» и бросает неоднозначное исключение. />
ProjectB:< /code> < /p>

[Binding]
public class BookStepsReference
{
private ProjectA.BookSteps _bookSteps = new ProjectA.BookSteps();

[Given(@"the following books:")]
public void GivenTheFollowingBooks(Table table)
{
_bookSteps.GivenTheFollowingBooks(table);
}
}
< /code>

Это работает, а также применяет правильный интеллект на шаги файла функций. Но когда я хочу отлаживать свои шаги, я получаю внешнее исключение COM при инициализации объекта _basesteps, вероятно, вызванной библиотекой Specflow, которая видит атрибут с двойным привязкой.>

Подробнее здесь: https://stackoverflow.com/questions/293 ... e-solution
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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