NUnit TestFixtures不适用于RestSharp

时间:2019-04-23 00:58:22

标签: c# automated-tests nunit hook restsharp

我正在尝试使用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 :(得分:0)

您创建了一个TestFixture,它是一个包含测试的类。如果夹具进行了任何测试,则NUnit将运行它们,并且还将在每次测试之前运行设置,并在每次测试之后运行拆卸。由于您没有测试,因此不会发生。 NUnit可以识别灯具,但是什么也找不到。

您说在另一类中“使用”此灯具时遇到问题。测试夹具不应被其他代码“使用”。而是由NUnit运行。

要想更好地回答您要做什么,我们首先需要知道您要做什么。您什么时候要运行“设置”和“拆卸”?他们应该多久运行一次?根据这些情况,我可以更新此答案。

进一步回复您的评论...如果您的测试在另一个类别中,则该类别就是您的测试装置。您是否有理由不希望它成为固定装置?