NUnit TestFixtures не работают с RestSharp - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь использовать NUnit TestAttributes для создания и удаления RestSharp RestClient

https://github.com/nunit/docs/wiki/TestFixture-Attribute

using NUnit.Framework;
using RestSharp;

namespace Sanitized.Sanitized.Steps
{
    [TestFixture]
    public class SetupAndTeardown
    {
        public RestClient restClient;

        [SetUp]
        public void Init()
        {

            restClient = new RestClient();
        }

        [TearDown]
        public void Cleanup()
        {

            restClient = null;
        }
    }
}

Но я получаю ошибку Object reference not set to an instance of an object. при попытке использовать это в другом классе, то есть с моими автоматическими шагами.

Я не понимаю этого, так как я думал, что код в атрибутах [SetUp] [Teardown] вызывается в начале и конце теста соответственно.

1 Ответ

0 голосов
/ 26 апреля 2019

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

Вы говорите, что у вас есть проблема, когда вы "используете" этот прибор в другом классе.Испытательные приспособления не предназначены для «использования» другим кодом.Скорее, ими управляет NUnit.

Чтобы получить лучший ответ о том, как делать то, что вы пытаетесь сделать, нам сначала нужно знать, что вы пытаетесь сделать.Когда вы хотите запустить «setup» и «teardown»?Как часто они должны бежать?В зависимости от этого, я могу обновить этот ответ.

Ответ на ваш комментарий ... Если ваши тесты находятся в другом классе, то этот класс - ваше тестовое устройство.Есть ли причина, по которой вы не хотите, чтобы это было приспособление?

...