Я начал использовать MSpec для BDD, и с давних пор я использую Moq в качестве фреймворка для насмешек. Тем не менее, они оба определяют It
, что означает, что я не могу иметь using Moq
и using Machine.Specifications
в одном и том же файле кода без необходимости явно указывать пространство имен каждый раз, когда я использую It
. Любой, кто использовал MSpec, знает, что на самом деле это не вариант.
Я погуглил для решения этой проблемы, и этот блоггер упоминает, что раздвоил MSpec для себя, и реализовал поддержку паралелей для Given
, When
, Then
.
Я бы хотел сделать это, но я не могу понять, как объявить, например, Given
без необходимости проходить через весь фреймворк, ища ссылки на Establish
и изменяя код там, чтобы он соответствовал тому, что я хочу либо быть в порядке.
Для справки, Establish
, Because
и It
объявляются следующим образом:
public delegate void Establish();
public delegate void Because();
public delegate void It();
Мне нужно как-то объявить Given
, чтобы везде код искал Establish
, Given
тоже в порядке.