我正在尝试使用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]
属性中的代码分别在测试的开始和结束时被调用。
答案 0 :(得分:0)
您创建了一个TestFixture
,它是一个包含测试的类。如果夹具进行了任何测试,则NUnit将运行它们,并且还将在每次测试之前运行设置,并在每次测试之后运行拆卸。由于您没有测试,因此不会发生。 NUnit可以识别灯具,但是什么也找不到。
您说在另一类中“使用”此灯具时遇到问题。测试夹具不应被其他代码“使用”。而是由NUnit运行。
要想更好地回答您要做什么,我们首先需要知道您要做什么。您什么时候要运行“设置”和“拆卸”?他们应该多久运行一次?根据这些情况,我可以更新此答案。
进一步回复您的评论...如果您的测试在另一个类别中,则该类别就是您的测试装置。您是否有理由不希望它成为固定装置?