SetUp в производных классах с NUnit?

Лучший способ справиться с этим заключается в следующем:

var elm = element(by.css('.mat-dialog-container'));	//Click anywhere in the modal dialog 

browser.actions().mouseMove(elm, {x: 500, y: 500}).click().perform()

7
задан SethO 4 September 2012 в 18:58
поделиться

4 ответа

Необходимо назвать метод непосредственно.

   [SetUp]
   public void DerivedSetUp()
   {
      base.BaseSetUp();
      // Do something else
   }

Править: Я не попробовал его, но возможно частичный метод мог бы работать также. Я предпочел бы делать вышеупомянутое все же.

Edit2: я только что попытался использовать частичные методы. Это не работало. Даже если это сделало, я думаю, что будет еще легче назвать базовый класс.

9
ответ дан 6 December 2019 в 21:20
поделиться

Следующие работы в MbUnit. Это может работать в NUnit также.

[TestFixture]
public abstract class Base {
    [SetUp]
    public virtual void SetUp() {
        //Some stuff.
    }
}

public class Derived : Base {
    public override void SetUp() {
        base.SetUp();
        //Some more stuff.
    }
    [Test]
    public virtual void Object_WhenInACertainState_WhenAMethodIsCalled_Throws() {
        //Create and set state on the object.
        //Call the method.
        //Assert the method threw.
    }
}
-1
ответ дан 6 December 2019 в 21:20
поделиться

У Вас есть базовый класс явно. Учитывая, что NUnit использует [Установка] атрибут для повышения тестовой установки, я думаю, что это - "правильная вещь", чтобы сделать для NUnit, потому что это следует обычным правилам языка.

Несомненно, NUnit мог искать базовые классы и вызвать их функции Установки автоволшебно, но я думаю, что это было бы довольно удивительно для большинства людей.

Существует однако по крайней мере одна платформа поблочного тестирования, которая использует конструкторов для установки: xUnit. Сеть. Здесь, установку базового класса называют автоматически, потому что это - то, как конструкторы в C# ведут себя.

(Отметьте, тем не менее, это xUnit. Сеть рекомендует снова использовать тестовую установку.)

3
ответ дан 6 December 2019 в 21:20
поделиться

Подход, что я использую это, я учился в TDD FireStarter в Тампе, должен был иметь метод установки в базовом классе, и затем иметь виртуальный метод в названном базовом классе наблюдают. Этот метод затем называют в базовом классе в конце метода установки.

Затем то, что Вы делаете, находится в новом классе, который происходит из базового класса, Вы переопределите наблюдать метод. Прием в этом сценарии - Вы, хотят выполнить метод Установки базового класса, и дочерний класс не имеет метода Установки. Причиной этого является код, который Вы имеете в наблюдать методе, только те дополнительные вещи, в которых Вы нуждаетесь для дочернего тестового класса.

Этот подход работает хорошо на меня, но один глюк - то, что исполнитель тестов захочет выполнить тесты базового класса, поэтому что я делаю для двигений, который должен переместить Тесты от базового класса в новый класс, который происходит из основы, если у меня есть кто-либо.

0
ответ дан 6 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: